如何从容器中的商店获取状态?
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。
我对如何从容器中获取状态感到有点困惑。我可以将调度映射到道具和调度操作。
在文档中它指出 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。