0

嗨,当我使用 TabNavigator(有 5 个选项卡)进入屏幕时,其中一个正在对 componentWillMount 调用 redux 操作。但奇怪的是为什么它永远不会停止调用这个动作。

在此处输入图像描述

4

1 回答 1

1

这通常发生在您setState从生命周期方法内部调用时。它引发了连锁反应,因为组件会在 Redux 更新时重新渲染,而重新渲染会导致 Redux 更新。

我想这是你问题的根源。

要修复它,您需要改进它设置状态的方式,例如只更新需要的字段,或者让组件只监听那个字段,或者不在那里更新它。

您还可以添加条件,例如if (this && this) dont update

也很好调查的是if (props === nextProps) dont update

您可能需要查看shouldComponentUpdate生命周期方法,但我一般会说,应该避免这种情况,因为它会产生难以追踪的奇怪错误。

于 2017-11-14T18:48:35.397 回答