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

How does a container component update its child component through react redux?

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

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

这是正确的吗?

这个 Redux 示例通过 react-redux libraries connect method 将 AsyncApp 容器及其子容器、Picker 和 Posts 组件连接到 Redux 存储。 connect 方法采用 mapStateToProps 和 mapDispatchToProps 函数,使容器能够将 redux 状态和操作作为 props 传递给子组件。

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

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