关于javascript:Redux分派导致组件本地状态重置

 2021-04-26 

Redux dispatch causing component local state to reset

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

  • 这是我组件的正确行为吗?组件在第二次安装(重新渲染)时是否应该重置其状态?
  • 如果(1)为true,当它从Redux商店接收新道具时,是否有办法在this.state中保留某些变量值?我不希望将所有组件的本地状态存储在Redux中。

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

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

    然后将重新安装子组件。

    解决方案:使用Router组件中的render函数。

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