Javascript Redux分派导致组件本地状态重置
我正在使用Redux和React。我正在使用Javascript Redux分派导致组件本地状态重置,javascript,reactjs,redux,Javascript,Reactjs,Redux,我正在使用Redux和React。我正在使用this.state(组件本地状态)保存特定于组件的变量。问题是,每当我分派操作(获取操作)和存储更新(装载)时,我的组件状态都会重置为初始状态 这是我的组件的正确行为吗?组件第二次装载(重新渲染)时是否应重置其状态 如果(1)为真,当它从Redux store收到新道具时,是否有办法在this.state中保留某些变量值?我不希望在Redux中存储所有组件的本地状态 原因:我以错误的方式实现了react router dom Route组件。我正在使
this.state
(组件本地状态)保存特定于组件的变量。问题是,每当我分派操作(获取操作)和存储更新(装载)时,我的组件状态都会重置为初始状态
this.state
中保留某些变量值?我不希望在Redux中存储所有组件的本地状态原因:我以错误的方式实现了react router dom Route组件。我正在使用路由器组件功能
<Router component={()=><Login / >}/>
}/>
然后将重新装入子组件
解决方案:使用路由器组件中的渲染功能
<Router render={()=><Login / >}/>
}/>
不,通常不应该这样做,但您的代码中可能有不好的做法,很难说没有任何代码帖子谢谢您@DominicTobias,很高兴知道。Knowin这使我更深入地研究了我的代码,它看起来可能是导致}/>组件中的组件装载到props update上的原因。不知道为什么。。。故障排除仍在继续。非常感谢!您使用哪种生命周期方法初始化您的状态?它应该在构造函数中,我在构造函数中定义它。类LoginForm\u UsrPwd\u Step1扩展了React.Component{constructor(props){super(props)this.state={usernameInput:'',passwordInput:''}}}Eureka!!我找到了原因。我以错误的方式实现了React路由器dom路由组件。我使用了路由器组件函数}/>然后将重新装入其子组件。相反,我应该在路由器组件中使用render函数。使用构造函数来实例化组件状态现在就像一个符咒。我会在几乎空荡荡的办公室里多跑几圈胜利之旅(有点尴尬),然后嘎吱嘎吱地离开:)谢谢你们的支持!真的很感激。