嗨,当我使用 TabNavigator(有 5 个选项卡)进入屏幕时,其中一个正在对 componentWillMount 调用 redux 操作。但奇怪的是为什么它永远不会停止调用这个动作。
问问题
88 次
1 回答
1
这通常发生在您setState
从生命周期方法内部调用时。它引发了连锁反应,因为组件会在 Redux 更新时重新渲染,而重新渲染会导致 Redux 更新。
我想这是你问题的根源。
要修复它,您需要改进它设置状态的方式,例如只更新需要的字段,或者让组件只监听那个字段,或者不在那里更新它。
您还可以添加条件,例如if (this && this) dont update
也很好调查的是if (props === nextProps) dont update
您可能需要查看shouldComponentUpdate
生命周期方法,但我一般会说,应该避免这种情况,因为它会产生难以追踪的奇怪错误。
于 2017-11-14T18:48:35.397 回答