首页 > 解决方案 > TypeError: Object(...) 不是函数(匿名函数)

问题描述

初始化 Firestore 时出现问题。这是代码:

在 store.js 中

    import { combineReducers, compose, createStore } from 'redux';
import firebase from 'firebase';
import 'firebase/firestore';
import { reactReduxFirebase, firebaseReducer } from 'react-redux-firebase';
import { reduxFirestore, firestoreReducer } from 'redux-firestore';

//Reducers

const firebaseConfig = {};

// react-redux-firebase config
  const rrfConfig = {
  userProfile: 'users',
  useFirestoreForProfile: true,
};

//init firebase instance
firebase.initializeApp(firebaseConfig);
//init firestore
const firestore = firebase.firestore();

//adding reactReduxFirebase enhencer
firebase.firestore(); // <- needed if using firestore

const rootReducer = combineReducers({
  firebase: firebaseReducer,
  firestore: firestoreReducer,
});

//create initial state
const initialState = {};
    const store = createStore(
  rootReducer,
  initialState,
  compose(
    reactReduxFirebase(firebase),
    window.__REDUX_DEVTOOLS_EXTENSION__ && window.__REDUX_DEVTOOLS_EXTENSION__()
  )
);
    export default store;

在 App.js 中

import { BrowserRouter as Router, Route, Switch } from 'react-router-dom';
import { Provider } from 'react-redux';
import store from './store';
function App() {
  return (
    <Provider store={store}>
      <Router>
        <div className="App">
          <AppNavbar></AppNavbar>
          <Switch>
            <Route exact path="/" component={Dashboard} />
          </Switch>
        </div>
      </Router>
    </Provider>
  );
}

export default App;

这是错误日志 | //创建初始状态 40 | 41 | 常量初始状态 = {};

42 | const store = createStore(43 | rootReducer, 44 | initialState, 45 | compose(reactReduxFirebase(firebase))

任何帮助表示赞赏。

标签: reactjsfirebasereduxreact-reduxreact-redux-firebase

解决方案


问题特别在于调用reactReduxFirebase,因为它不是函数。

我对“react-redux-firebase”包不太熟悉,但似乎这个功能已从最新版本中删除。

现在建议您将应用程序包装在ReactReduxFirebaseProvider.


推荐阅读