调用 useFirestoreConnect 时对象不是函数
object is not a function when calling `useFirestoreConnect`
我正在使用 react-redux-firebase
和 redux-firestore
包。
我正在尝试使用 useFirestoreConnect
挂钩将 firestore 连接到 redux,但在调用此挂钩后,它会给我一个 TypeError,就像这张照片中一样。
我在 GitHub 问题、文档和此处进行了搜索,但没有找到任何解决方案。
错误:Uncaught (in promise) TypeError: Object(...) is not a function
您在这张图片中看到了整个错误:
The console.log error
The TypeError returned
大家好,我知道问题出在哪里了。
这适用于正在寻找解决方案的任何人。
react-redux-firebase
和 redux-firestore
有一些问题
在版本兼容性方面,所以跳过我安装的最新版本
包的版本!
显然新旧版本之间存在一些差异
给您的应用程序 redux firebase provider
。
旧方法可能如下所示:
const store = createStore(
rootReducer,
composeEnhancers(
reactReduxFirebase(firebase, rrfConfig),
reduxFirestore(firebase),
applyMiddleware(thunk.withExtraArgument({ getFirebase, getFirestore }))
)
);
但是如果你想在你的应用程序中实现挂钩并使用 useFirestoreConnect
这将不起作用。
在新版本中,您需要从 createStore
函数中删除 reactReduxFirebase
和 reduxFirestore
,而是使用从 react-redux-firebase
导入的 ReactReduxFirebaseProvider
并将您的应用包装在其中,像这样:
<ReduxProvider store={store}>
<ReactReduxFirebaseProvider {...rrfProps}>
<BrowserRouter>
<AuthIsLoaded>
<App />
</AuthIsLoaded>
</BrowserRouter>
</ReactReduxFirebaseProvider>
</ReduxProvider>
并传递了道具:firebase、react-redux-firebase 配置和任何其他你想要的东西。 rrfProps 是这样的:
const rrfProps = {
firebase,
config: rrfConfig,
dispatch: store.dispatch,
createFirestoreInstance, //since we are using Firestore
};
这是 react-redux-firebase 配置 (rrfConfig):
const rrfConfig = {
userProfile: "users",
useFirestoreForProfile: true, // Firestore for Profile instead of Realtime DB
attachAuthIsReady: true, // attaches auth is ready promise to store
};
我正在使用 react-redux-firebase
和 redux-firestore
包。
我正在尝试使用 useFirestoreConnect
挂钩将 firestore 连接到 redux,但在调用此挂钩后,它会给我一个 TypeError,就像这张照片中一样。
我在 GitHub 问题、文档和此处进行了搜索,但没有找到任何解决方案。
错误:Uncaught (in promise) TypeError: Object(...) is not a function
您在这张图片中看到了整个错误:
The console.log error
The TypeError returned
大家好,我知道问题出在哪里了。 这适用于正在寻找解决方案的任何人。
react-redux-firebase
和redux-firestore
有一些问题 在版本兼容性方面,所以跳过我安装的最新版本 包的版本!显然新旧版本之间存在一些差异 给您的应用程序
redux firebase provider
。 旧方法可能如下所示:const store = createStore( rootReducer, composeEnhancers( reactReduxFirebase(firebase, rrfConfig), reduxFirestore(firebase), applyMiddleware(thunk.withExtraArgument({ getFirebase, getFirestore })) ) );
但是如果你想在你的应用程序中实现挂钩并使用 useFirestoreConnect
这将不起作用。
在新版本中,您需要从 createStore
函数中删除 reactReduxFirebase
和 reduxFirestore
,而是使用从 react-redux-firebase
导入的 ReactReduxFirebaseProvider
并将您的应用包装在其中,像这样:
<ReduxProvider store={store}>
<ReactReduxFirebaseProvider {...rrfProps}>
<BrowserRouter>
<AuthIsLoaded>
<App />
</AuthIsLoaded>
</BrowserRouter>
</ReactReduxFirebaseProvider>
</ReduxProvider>
并传递了道具:firebase、react-redux-firebase 配置和任何其他你想要的东西。 rrfProps 是这样的:
const rrfProps = {
firebase,
config: rrfConfig,
dispatch: store.dispatch,
createFirestoreInstance, //since we are using Firestore
};
这是 react-redux-firebase 配置 (rrfConfig):
const rrfConfig = {
userProfile: "users",
useFirestoreForProfile: true, // Firestore for Profile instead of Realtime DB
attachAuthIsReady: true, // attaches auth is ready promise to store
};