📅  最后修改于: 2023-12-03 15:06:09.216000             🧑  作者: Mango
当使用react-redux-firebase
时,有时会遇到TypeError: Object(...) is not a function
错误,这通常是因为有些代码库已经升级到v3
, react-redux-firebase
仍然在使用旧版本。
这个错误通常在使用React 16+
和 Redux 4+
时出现,并且是由于新的hook API
,在react-redux-firebase
v2版本中并没有支持。
升级react-redux-firebase
到v3
react-redux-firebase
的最新版本已经支持新的hook API
。如果您使用的是早期版本,请尝试将其升级到最新版本。
回滚到react-redux-firebase
的旧版本
如果您无法或不想升级您的依赖项,您可以降级react-redux-firebase
到旧版本,在v2
中使用react-redux
的connect
方法来替换hooks API
。
手动绑定用于react-redux-firebase
的store
如果降级不可行,则可以尝试手动绑定redux store并将其传递给react-redux-firebase
,以便它可以使用您的Redux数据存储。以下是一个示例代码片段,提供了手动绑定的参考示例:
import { createStore, combineReducers } from 'redux'
import { firebaseReducer } from 'react-redux-firebase'
const rootReducer = combineReducers({
firebase: firebaseReducer
// ... add additional reducers here (if required)
})
const store = createStore(
rootReducer,
// initial state (if required)
)
// Manually bind firebase to store
const rrfProps = {
firebase,
config: fbConfig,
dispatch: store.dispatch
}
ReactDOM.render(
<Provider store={store}>
<ReactReduxFirebaseProvider {...rrfProps}>
<App />
</ReactReduxFirebaseProvider>
</Provider>,
document.getElementById("root")
);
如果您在使用react-redux-firebase
时遇到了“TypeError: Object (...) is not a function”错误,请尝试使用上述解决方案之一解决问题。如果问题仍然存在,请查阅相关社区文档,或向组件的作者提出问题反馈。