嗨,当我使用TabNavigator (有5个标签)进入屏幕,其中一个是在componentWillMount上调用redux操作时。但奇怪的是为什么它从不停止调用动作。

发布于 2017-11-15 02:48:35
当您从生命周期方法内部调用setState时,通常会发生这种情况。这会引发连锁反应,因为当Redux更新时,组件会重新渲染,而重新渲染会导致Redux更新。
我可以想象这就是你问题的根源。
要解决这个问题,您需要改进它设置状态的方式,比如只更新需要的字段,或者使组件只侦听一个字段,或者不在那里更新它。
您还可以添加条件语句,如if (this && this) dont update
同样值得研究的是if (props === nextProps) dont update
您可能需要查看shouldComponentUpdate生命周期方法,但我想说的是,一般情况下,应该避免这样做,因为它可能会产生难以追踪的奇怪bug。
https://stackoverflow.com/questions/47292716
复制相似问题