当前位置: 首页 > 面试题库 >

使用firestoreConnect的react-redux-firebase错误。TypeError:未定义不是对象(正在评估“ this.store.firestore”)

有品
2023-03-14
问题内容

所以…我从react-redux-firebase使用firestoreConnect遇到错误,不确定发生了什么。这是我的index.js:

const createStoreWithFirebase = compose(
applyMiddleware(thunk.withExtraArgument({getFirebase, getFirestore})),
reduxFirestore(firebaseConfig),
reactReduxFirebase(firebaseConfig, {useFirestoreForProfile: true, userProfile: 'users', attachAuthIsReady: true}))(createStore);

const initialState = {};
const store = createStoreWithFirebase(rootReducer, initialState);

store.firebaseAuthIsReady.then(() => {
ReactDOM.render(<Provider store={store}><App/></Provider>, document.getElementById('root'));

serviceWorker.unregister();
});

这是我组件的导出部分:

export default compose(
firestoreConnect([
    {'collection': 'allocables'},
    {'collection': 'solution'},
    {'collection': 'resources'}
]),
connect(mapStateToProps, mapDispatchToProps)
)(Dashboard);

错误如下:

<div style="font-size: 2em; font-family: sans-serif; color: rgb(206, 17, 38); white-space: pre-wrap; margin: 0px 2rem 0.75rem 0px; flex: 0 0 auto; max-height: 50%; overflow: auto;">TypeError: undefined is not an object (evaluating 'this.store.firestore')</div>

<div><div>componentWillMount</div><div style="font-size: 0.9em; margin-bottom: 0.9em;"><span tabindex="0" style="text-decoration: none; color: rgb(135, 142, 145); cursor: pointer;">node_modules/react-redux-firebase/es/firestoreConnect.js:142</span></div><span><span style="cursor: pointer;"><pre style="position: relative; display: block; padding: 0.5em; margin-top: 0.5em; margin-bottom: 0.5em; overflow-x: auto; white-space: pre-wrap; border-top-left-radius: 0.25rem; border-top-right-radius: 0.25rem; border-bottom-right-radius: 0.25rem; border-bottom-left-radius: 0.25rem; background-color: rgba(206, 17, 38, 0.0470588);"><code style="font-family: Consolas, Menlo, monospace;"><span data-ansi-line="true"><span></span><span> </span><span style="color: #333333;"> 139 | </span><span>_createClass(</span><span style="color: #881280;">FirestoreConnect</span><span></span><span style="color: #881280;">,</span><span> [{</span><span></span></span><br><span data-ansi-line="true"><span></span><span> </span><span style="color: #333333;"> 140 | </span><span>  key</span><span style="color: #881280;">:</span><span> </span><span style="color: #1155cc;">'componentWillMount'</span><span></span><span style="color: #881280;">,</span><span></span><span></span></span><br><span data-ansi-line="true"><span></span><span> </span><span style="color: #333333;"> 141 | </span><span>  value</span><span style="color: #881280;">:</span><span> </span><span style="color: #c80000;">function</span><span> componentWillMount() {</span><span></span></span><br><span data-ansi-line="true" style="background-color: rgb(252, 207, 207);"><span></span><span></span><span style="color: #881280;"></span><span style="color: #881280;">&gt;</span><span style="color: #881280;"></span><span></span><span style="color: #333333;"> 142 | </span><span>    </span><span style="color: #c80000;">var</span><span> firestore </span><span style="color: #881280;">=</span><span> </span><span style="color: #c80000;">this</span><span></span><span style="color: #881280;">.</span><span>store</span><span style="color: #881280;">.</span><span>firestore</span><span style="color: #881280;">;</span><span></span><span></span></span><br><span data-ansi-line="true" style="position: absolute;"><span></span><span> </span><span style="color: #333333;">     | </span><span></span><span style="color: #881280;"></span><span style="color: #881280;">^</span><span style="color: #881280;"></span><span></span><span></span></span><span data-ansi-line="true"><span></span><span> </span><span style="color: #333333;"> 143 | </span><span></span><span></span></span><br><span data-ansi-line="true"><span></span><span> </span><span style="color: #333333;"> 144 | </span><span>    </span><span style="color: #c80000;">if</span><span> (</span><span style="color: #c80000;">this</span><span></span><span style="color: #881280;">.</span><span>firestoreIsEnabled) {</span><span></span></span><br><span data-ansi-line="true"><span></span><span> </span><span style="color: #333333;"> 145 | </span><span>      </span><span style="color: #c80000;">var</span><span> inputAsFunc </span><span style="color: #881280;">=</span><span> (</span><span style="color: #994500;">0</span><span></span><span style="color: #881280;">,</span><span> _utils</span><span style="color: #881280;">.</span><span>createCallable)(dataOrFn)</span><span style="color: #881280;">;</span><span></span><span></span></span></code></pre></span><button style="margin-bottom: 1.5em; color: rgb(135, 142, 145); cursor: pointer; border: none; display: block; width: 100%; text-align: left; background-color: rgb(255, 255, 255); font-family: Consolas, Menlo, monospace; font-size: 1em; padding: 0px; line-height: 1.5; background-position: initial initial; background-repeat: initial initial;">View compiled</button></span></div>

问题答案:

如果您刚刚升级到React-Redux v6,那是因为react-redux-firebase与v6不兼容。

请参阅支持React-Redux v6。



 类似资料:
  • 问题内容: 无法完成这项工作,交叉检查了所有引用,但这没有帮助。这是该视图的所有代码。 我不确定我缺少什么,是否需要所有依赖项。 问题答案: 如果您以这种方式调用ListView组件,则它应该可以工作。NavigatorIOS已经向下传递参考(但仅一代/一代)。 但是,如果要从NavigatorIOS引用的组件的子组件中调用ListView组件,请尝试此操作。从NavigatorIOS引用的组件中

  • 问题内容: 我正在尝试在React中创建一个项目,并且正在使用Firebase。在我的react-redux- firebase项目中,有一行代码出错,但我无法解决。如何解决此“ TypeError:Object(…)不是函数” 我已经搜索了此问题,但无法解决该问题。 我正在关注一个React版本为16.4.1的教程。我不确定这是否是问题 index.js文件 如果我注释掉reatReduxFir

  • 问题内容: 我正在尝试使用React Navigation和StackNavigator在我的应用程序中导航。 我有一个带有的按钮,我希望它将带我到,但出现以下错误: E ReactNativeJS:未定义不是对象(评估“ this.props.navigation.navigate”) 我需要添加什么才能使它正常工作? 在这里查看我的代码:https : //gist.github.com/ch

  • 我似乎无法在世博会上使用本机摄像头。以下是我收到的错误截图: 错误源于react native camera正在调用。这是否与expo无法访问某些本机API有关? 已经采取的步骤: 反应本机链接反应本机摄像头 重新启动构建 我还通过创建了一个常规的react-local应用程序,并且能够正确设置react-nate-cam而没有任何问题。

  • 我在反应本族语中得到这个问题。在我决定重新运行项目进行纱线安装之前,一切都很顺利 这是完全错误的 类型错误:未定义不是node_modules的对象(评估“_expoModulesCore.本机模块代理.ExpoSplashScreen”)处.js反应本机\库\LogBox.js:148:8 在寄存器中错误node_modules\反应本机\库\LogBox\LogBox.js:59:8 错误在n

  • 获取类型错误,但使用onClick={()=