容器组件如何通过react redux更新其子组件?
How does a container component update its child component through react redux?
查看 React redux 文档的 reddit example,我很难看出帖子列表组件如何根据选择器状态的变化自行更新。是容器方法中的 componentWillReceiveProps
生命周期方法导致的吗?这就是我看到数据流和状态变化的方式:
- 用户选择了 reddit
- 商店状态已更改
- store 是容器组件的 props,所以实际上它的 props 被改变了
- componentWillReceiveProps 被触发并调度 fetchPostsIfNeeded
- 帖子列表已更改
这是正确的吗?
这个 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 存储的绑定。
查看 React redux 文档的 reddit example,我很难看出帖子列表组件如何根据选择器状态的变化自行更新。是容器方法中的 componentWillReceiveProps
生命周期方法导致的吗?这就是我看到数据流和状态变化的方式:
- 用户选择了 reddit
- 商店状态已更改
- store 是容器组件的 props,所以实际上它的 props 被改变了
- componentWillReceiveProps 被触发并调度 fetchPostsIfNeeded
- 帖子列表已更改
这是正确的吗?
这个 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 存储的绑定。