redux如何在路由时为多个页面的同一个组件保持独立状态?
How does redux keep independent state for the same component of many page when routing?
当我将 Redux 与 react-router 一起使用时,我在 pageA 和 pageB 上有相同的组件 'ticker',当我将操作分派到 pageA 上的 'ticker' 然后路由到 pageB 时,'ticker' 在页面 B 上是页面 A 的 'ticker's' 状态。
如何拆分组件状态?
如果有一种简单的方法可以在路由时将所有状态设置为默认状态?
有时将特定于组件的状态存储在 React 的组件状态中是个好主意。在您的情况下,如果您希望每个组件的状态在每次重新安装时都重新初始化,那么最好使用 React 的 setState
.
更新状态
Redux 作者对此事的看法:https://github.com/reactjs/redux/issues/1287#issuecomment-175351978
另一方面,如果您希望在路由转换之间保留 pageA 的组件状态,那么我想您必须为 pageA 分配某种 ID,并使用它来存储相应的状态数据在 redux 商店中。
当我将 Redux 与 react-router 一起使用时,我在 pageA 和 pageB 上有相同的组件 'ticker',当我将操作分派到 pageA 上的 'ticker' 然后路由到 pageB 时,'ticker' 在页面 B 上是页面 A 的 'ticker's' 状态。
如何拆分组件状态? 如果有一种简单的方法可以在路由时将所有状态设置为默认状态?
有时将特定于组件的状态存储在 React 的组件状态中是个好主意。在您的情况下,如果您希望每个组件的状态在每次重新安装时都重新初始化,那么最好使用 React 的 setState
.
Redux 作者对此事的看法:https://github.com/reactjs/redux/issues/1287#issuecomment-175351978
另一方面,如果您希望在路由转换之间保留 pageA 的组件状态,那么我想您必须为 pageA 分配某种 ID,并使用它来存储相应的状态数据在 redux 商店中。