Redux 调度导致组件本地状态重置

IT技术 javascript reactjs redux
2021-05-04 03:31:27

我正在使用 Redux 和 React。我正在使用this.state(组件本地状态)来保存组件特定的变量。问题是,每当我调度一个动作(获取动作)和存储更新(安装)时,我的组件状态都会重置为初始状态。

  1. 这是我的组件的正确行为吗?组件的状态是否应该在第二次安装(重新渲染)时重置?
  2. 如果 (1) 为真,有没有办法在this.state从 Redux 商店接收新props时保留某些变量值我不想在 Redux 中存储我所有的组件本地状态。
1个回答

原因:我以错误的方式实现了 react-router-dom Route 组件。我正在使用路由器组件功能

<Router component={()=><Login / >}/>

然后将重新安装子组件。

解决方案在路由器组件中使用渲染功能。例如

<Router render={()=><Login / >}/>