TypeError:无法读取 null 的属性“调度”
Posted
技术标签:
【中文标题】TypeError:无法读取 null 的属性“调度”【英文标题】:TypeError: Cannot read property 'dispatch' of null 【发布时间】:2020-12-11 10:34:11 【问题描述】:我在尝试将我的 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)
【问题讨论】:
你能在商店创建后尝试断点吗?可能在 rrfProps 对象声明部分,看看 store 是否未定义? 在商店创建前后尝试调试没有新的错误只是上面列出的这个。 is 应该在 ReactReduxFirebaseProvider 内?另外,您可以使用可选链编写store?.dispatch
以避免抛出 TypeError。
我刚刚修复了它,通过将 ``` ``` 放入 ReactReduxProvider 一切正常
【参考方案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();
【讨论】:
感谢您给予我的信任。很高兴帮助开发人员。如果您不介意,可以帮助支持我给您答案的评论吗?这里需要一些声望点。 :)以上是关于TypeError:无法读取 null 的属性“调度”的主要内容,如果未能解决你的问题,请参考以下文章
TypeError:无法读取 null 的属性(读取“classList”)
TypeError:无法读取 null 的属性(读取“1”)
TypeError:无法读取 null 的属性“userID”