【问题标题】:How to get state from the store in a container?如何从容器中的商店获取状态?
【发布时间】:2016-06-12 18:28:28
【问题描述】:

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

在文档中它声明了 store.getState(),但是我是否首先需要 mapStateToProps 才能调用 this.props.getState() 或者我可以简单地在容器中的任何位置调用 store.getState() 并且我会是否可以通过我的 Provider 访问商店?

【问题讨论】:

    标签: reactjs redux react-redux


    【解决方案1】:

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

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

    【讨论】:

      【解决方案2】:

      据我了解,这就是 Redux 中的流程。 你从你的容器中调用一个动作,比如一个 onClick 方法,该方法反过来被减少并返回状态的副本。 此状态副本在您的 mapStateToProps 函数中可用,该函数会将您的 props 对象设置为新的状态对象。 您的渲染函数将利用这个新更新的道具对象并在状态有任何更新时进行渲染。

      希望这能解决您的问题。

      查看我的 github 存储库,我在其中制作了一个简单的 Courses 应用程序来添加/管理课程。 https://github.com/sidharthmehra/ReactReduxApp

      【讨论】:

        猜你喜欢
        • 2018-11-30
        • 1970-01-01
        • 1970-01-01
        • 2018-12-21
        • 2020-06-20
        • 1970-01-01
        • 1970-01-01
        • 2023-01-28
        • 2019-11-19
        相关资源
        最近更新 更多