[英]How to get reference to store in react/redux?
在我的reactjs-universal組件中,我寫了這樣的:
const mapStateToProps = (store) => {
return {
cars: store
}
}
export default connect(mapStateToProps)(SearchForm)
在同一個組件中,我想發送一個動作,如:
store.dispatch({type: 'SHOWDETAIL', data: 'hi'});
當這個運行時,我得到:
Uncaught TypeError: _create2.default.dispatch is not a function
是否有可能在我的組件中以某種方式獲得對商店的引用,以便我可以發送操作?
connect
將調用mapStateToProps
作為參數而不是商店。
看來在你的情況下你不需要引用商店,並且使用connect to map dispatch到props就足夠了。
const mapStateToProps = (store) => {
return {
cars: store
}
}
const mapDispatchToProps = dispatch => {
return {
action : () => dispatch({
type : 'ACTION_NAME'
})
}
}
export default connect(mapStateToProps, mapDispatchToProps)(SearchForm)
如果你真的想要商店,你應該從你創建它的地方導出它並將它導入到你需要的地方,這不是connect
傳遞商店的目的。
您不會獲得對商店對象的引用,而是對商店內部的狀態的引用。 connect函數的第二個參數是mapDispatchToProps。 這使您可以訪問調度功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.