TypeError:无法读取null的属性“ dispatch”

时间:2020-08-22 05:56:58

标签: javascript reactjs firebase redux

尝试将我的Firestore连接到reducer后,我刚收到此错误,并且我注意到cnt从我的Firestore中获取了任何数据,所以问题在 index.js 文件中,因为它发生了在我进行了从v2到v3的迁移之后,当错误开始时,请您帮我找出问题所在

import React from 'react';
import ReactDOM from 'react-dom';
import './index.css';
import App from './App';
import * as serviceWorker from './serviceWorker';
import {createStore, applyMiddleware, compose } from 'redux'
import rootreducer from './store/reducers/rootreducer'
import { Provider } from 'react-redux'
import thunk from 'redux-thunk'
import { createFirestoreInstance, getFirestore, reduxFirestore } from 'redux-firestore'
import { ReactReduxFirebaseProvider, getFirebase} from 'react-redux-firebase'
import fbconfig from './config/fbconfig'
import firebase from 'firebase/app'
const store = createStore(
  rootreducer,
  compose(
      applyMiddleware(thunk.withExtraArgument({ getFirestore, getFirebase })),
      reduxFirestore(firebase, fbconfig)
  )
);

const rrfProps = {
  firebase,
  config: fbconfig,
  dispatch: store.dispatch,
  createFirestoreInstance
};

ReactDOM.render(
  <React.StrictMode>
    <Provider store={store}><App />
    <ReactReduxFirebaseProvider{...rrfProps}>
      </ReactReduxFirebaseProvider>
      </Provider>
  </React.StrictMode>,
  document.getElementById('root')
);

serviceWorker.unregister();

这是我的 dashboard.js 导出,添加后会出现错误

export default compose(
    connect(mapStateToProps),
    firestoreConnect([
        {collection: 'projects'}
    ])
)(Dashboard)

1 个答案:

答案 0 :(得分:1)

我刚刚在 Kevin Moe Myint Myat 的帮助下进行了修复,如下所示,将<App/>放在ReactReduxFirebaseProvider

ReactDOM.render(
  <React.StrictMode>
    <Provider store={store}>
    <ReactReduxFirebaseProvider{...rrfProps}>
        <App />
      </ReactReduxFirebaseProvider>
      </Provider>
  </React.StrictMode>,
  document.getElementById('root')
);

serviceWorker.unregister();