容器组件如何通过react redux更新其子组件?

时间:2016-08-22 00:00:11

标签: reactjs redux state react-redux

查看react redux文档的reddit example,我很难看到帖子列表组件如何根据选择器更改的状态自行更新。它是通过容器方法中的componentWillReceiveProps生命周期方法引起的吗?这就是我看到数据流和状态变化的方式:

  1. 用户选择了reddit
  2. 商店状态已更改
  3. store是容器组件的道具,所以实际上它的道具已经改变
  4. 触发componentWillReceiveProps并调度fetchPostsIfNeeded
  5. 帖子列表已更改
  6. 这是对的吗?

1 个答案:

答案 0 :(得分:1)

此Redux示例连接AsyncApp容器及其子容器,Picker& amp;通过react-redux libraries connect method将组件发布到Redux商店。 connect方法使用mapStateToProps和mapDispatchToProps函数来使容器能够将redux状态和操作作为props传递给子组件。

现在,子组件可以访问这些道具,例如。 const { selectedSubreddit, posts, isFetching, lastUpdated } = this.props。它还可以调度这些操作来更新redux存储,然后更新它连接到的那些道具。

Redux是一种管理应用程序状态的方法,它不关心您的UI或是否使用React。 React-redux是一个库,它提供从React组件到Redux存储的绑定。