【发布时间】:2019-11-23 18:04:39
【问题描述】:
用 redux 配置 firebase 对我来说很痛苦。
我不知道出了什么问题,但我感到很困惑。我正在尝试将getFirebase 和getFirestore 作为参数传递给thunk,但我遇到了这个错误:
在尝试将额外参数添加到 thunk 之前,我让它工作了。我正在使用下面的代码:
import { createStore, applyMiddleware, compose } from 'redux'
import thunk from 'redux-thunk'
import { composeWithDevTools } from 'redux-devtools-extension'
import rootReducer from './modules'
import {reduxFirestore, getFirestore} from 'redux-firestore'
import {reactReduxFirebase, getFirebase} from 'react-redux-firebase'
import fbConfig from './firebase/config'
export function initializeStore(initialState) {
const _thunk = thunk.withExtraArgument({ getFirebase, getFirestore })
const middlewareEnhancer = applyMiddleware(_thunk)
const composedEnhancers = compose(
middlewareEnhancer,
reduxFirestore(fbConfig),
reactReduxFirebase(fbConfig)
)
const store = createStore(rootReducer, initialState, composedEnhancers)
return store
}
您知道会发生什么吗?我很绝望。
非常感谢。
【问题讨论】:
-
错误出现在 L14 上,所以开始实际调试该行:您要推送到
compose的内容是什么? (例如,如果您通过控制台记录它们,开发工具会告诉您什么有关它们的信息)。另外,回到源代码:如果您只使用普通的 thunk,并且不将 apply 作为 const 捕获,那么 您的代码的那部分 现在可以工作吗? (例如,错误消失了,或者它现在在代码中的某个位置)。 [非常重要][(/help/how-to-ask),这些细节很重要,所以请在帖子中谈论/展示您的调查结果。 -
这是特定于“redux-firestore”包的。如果你很绝望,如果你在这里没有得到任何帮助,可以尝试查看他们的 GitHub 存储库上发布的开放/旧问题。
标签: reactjs firebase redux redux-thunk redux-firestore