【发布时间】:2017-05-14 15:37:21
【问题描述】:
当我将 Redux 与 react-router 一起使用时,我在 pageA 和 pageB 上具有相同的组件“ticker”,当我将操作调度到 pageA 上的“ticker”然后路由到 pageB 时,pageB 上的“ticker”是 pageA 的“ticker” ' 状态。
如何拆分组件状态? 如果有一种简单的方法可以在路由时将所有状态设置为默认状态?
【问题讨论】:
标签: redux react-redux
当我将 Redux 与 react-router 一起使用时,我在 pageA 和 pageB 上具有相同的组件“ticker”,当我将操作调度到 pageA 上的“ticker”然后路由到 pageB 时,pageB 上的“ticker”是 pageA 的“ticker” ' 状态。
如何拆分组件状态? 如果有一种简单的方法可以在路由时将所有状态设置为默认状态?
【问题讨论】:
标签: redux react-redux
有时将特定于组件的状态存储在 React 的组件状态中是个好主意。在您的情况下,如果您希望每个组件的状态在每次重新安装时都重新初始化,那么最好使用 React 的 setState 更新状态。
Redux 创建者对此事的看法:https://github.com/reactjs/redux/issues/1287#issuecomment-175351978
另一方面,如果您希望在路由转换之间保留 pageA 的组件状态,那么我想您必须为 pageA 分配某种 ID,并使用它将相应的状态数据存储在redux 商店。
【讨论】: