如何从容器中的商店获取状态?

How to get state from the store in a container?

我对如何从容器中获取状态感到有点困惑。我可以将调度映射到道具和调度操作。

在文档中它指出 store.getState(),但是我是否首先需要 mapStateToProps 才能调用 this.props.getState() 或者我可以简单地在任何地方调用 store.getState()我的容器,我可以访问通过我的提供商传递的商店吗?

这就是我所理解的 Redux 中的流程。 你从你的容器中调用一个动作,比如一个 onClick 方法,它又被减少和 returns 状态的副本。 这个状态副本在你的 mapStateToProps 函数中可用,它将你的道具对象设置为新的状态对象。 如果状态有任何更新,您的渲染函数将使用这个新更新的道具对象并渲染。

希望这能解决您的问题。

查看我的 github 存储库,我在其中为 add/manage 课程制作了一个简单的课程应用程序。 https://github.com/sidharthmehra/ReactReduxApp

connect() 函数的第一个参数是一个称为 mapStateToProps 的可选函数。如果您提供 mapState 参数,则每次更新商店时,由 connect() 生成的包装器组件将自动调用您的 mapState 函数,并传入新状态。然后,您的 mapState 函数应提取连接组件所需的任何数据,并 return 它们。 (mapStateToProps 实际上只是被称为 "selector" 函数的概念的特定用法 - 请参阅 Computing Derived Data 使用选择器)。

您自己的组件代码不应该直接访问商店,而是只接受传入的道具。参见 Redux FAQ