首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >对象在调用‘`useFirestoreConnect`’时不是函数。

对象在调用‘`useFirestoreConnect`’时不是函数。
EN

Stack Overflow用户
提问于 2020-06-18 13:37:29
回答 1查看 428关注 0票数 1

我使用的是react-redux-firebaseredux-firestore包。我正在尝试用useFirestoreConnect钩子连接到redux,但是调用这个钩子之后,它给了我一个TypeError,如图中所示。我已经搜索过GitHub问题、文档和这里,但我没有找到任何解决方案。

错误:Uncaught (in promise) TypeError: Object(...) is not a function

您可以在这张图片中看到整个错误:

console.log误差

TypeError回来了

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-06-23 14:48:57

大家好,我知道问题出在哪里。这是为任何正在寻找解决方案的人准备的。

  1. react-redux-firebaseredux-firestore在版本兼容性方面存在一些问题,所以我要跳过安装软件包的最新版本!
  2. 显然,旧版本和新版本之间有一些不同,给你的应用程序提供redux firebase provider。旧的方式可能是这样的: createStore= createStore( rootReducer,composeEnhancers( reactReduxFirebase,rrfConfig),reduxFirestore(firebase),applyMiddleware({ getFirebase,getFirestore }) );

但是,如果您想在应用程序中实现钩子并使用useFirestoreConnect,这是行不通的。在新版本中,您需要从reactReduxFirebase功能中删除createStorereduxFirestore,然后使用从react-redux-firebase导入的ReactReduxFirebaseProvider并将应用程序包装在其中,如下所示:

代码语言:javascript
复制
<ReduxProvider store={store}>
   <ReactReduxFirebaseProvider {...rrfProps}>
     <BrowserRouter>
       <AuthIsLoaded>
         <App />
       </AuthIsLoaded>
     </BrowserRouter>
   </ReactReduxFirebaseProvider>
</ReduxProvider>

并通过道具:火基,反应-还原-火基配置和任何其他你喜欢的东西。rrfProps是这样说的:

代码语言:javascript
复制
const rrfProps = {
firebase,
config: rrfConfig,
dispatch: store.dispatch,
createFirestoreInstance, //since we are using Firestore
};

这是react redux-firebase配置(rrfConfig):

代码语言:javascript
复制
const rrfConfig = {
  userProfile: "users",
  useFirestoreForProfile: true, // Firestore for Profile instead of Realtime DB
  attachAuthIsReady: true, // attaches auth is ready promise to store
};
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62451289

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档