簡體   English   中英

如何在react / redux中引用存儲?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM