如何纠正 Redux 商店中的 React-Redux-Firebase 错误

Posted

技术标签:

【中文标题】如何纠正 Redux 商店中的 React-Redux-Firebase 错误【英文标题】:How to correct error with React-Redux-Firebase in Redux store 【发布时间】:2019-03-15 22:34:40 【问题描述】:

我正在尝试使用以下代码在 Redux 商店中实现 React-Redux-Firebase:

store.js
import  applyMiddleware, compose, createStore  from 'redux';
import reducers from 'store/reducers';
import thunk from 'redux-thunk';
import  reduxFirestore, getFirestore  from 'redux-firestore';
import  reactReduxFirebase, getFirebase  from 'react-redux-firebase';
import AppConfig from 'my-app/AppConfig';

const composeEnhancers =
  typeof window === 'object' &&
    window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__ ?
    window.__REDUX_DEVTOOLS_EXTENSION_COMPOSE__() : compose;

const enhancer = composeEnhancers(
  applyMiddleware(thunk.withExtraArgument( getFirebase, getFirestore )),
  reduxFirestore(AppConfig.fbConfig),
  reactReduxFirebase(AppConfig.fbConfig),
);

const store = createStore(reducers, enhancer); // this line generates the error message

export default store;

显然,这行:

const store = createStore(reducers, enhancer);

抛出以下错误消息:

错误:v2.0.0-beta 及更高版本需要传递 firebase 应用实例或 firebase 库实例。查看迁移指南了解详情。

谁能帮我理解这个错误信息的含义?我该如何解决?

【问题讨论】:

github.com/prescottprue/react-redux-firebase 【参考方案1】:

不要上课。像这样使用它:

import firebase from 'firebase/app'
import 'firebase/firestore'
import 'firebase/auth'

var config = 
  apiKey: "xxxxxxxxxxxxxxxxxxxxxxxxxxx",
  authDomain: "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  databaseURL: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  projectId: "xxxxxxxxxxxxxxxxxxxxxx",
  storageBucket: "xxxxxxxxxxxxxxxxxxxxxxxxxxxx",
  messagingSenderId: "xxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
;
firebase.initializeApp(config);

  export default firebase;

【讨论】:

以上是关于如何纠正 Redux 商店中的 React-Redux-Firebase 错误的主要内容,如果未能解决你的问题,请参考以下文章

如何在 mapStateToProps 中使用 useParams?

如何使用react-redux将redux商店中封装的ui状态映射到道具?

还原 |如何正确连接到 redux 商店

Reactjs:直接 Firebase 连接与 Firebase Redux 商店

Redux商店中的巨大物件

react-router-redux 5:维护导航中的商店状态历史记录