当redux状态更新时,在组件上调用forceUpdate()

Ilj*_*lja 6 javascript reactjs redux

我有一个问题,redux状态正在成功更新,但反应组件没有重新渲染,经过一些研究我认为[forceUpdate()][1]可以解决我的问题,但我不确定正确的方法来实现它,即在redux状态更新后.我尝试在github上查找示例,但没有运气.

Dav*_*lsh 9

正如其他人所说,forceUpdate()基本上是一个黑客.只要道具和状态发生变化,您就可以免费获得更新.React和Redux无缝地协同工作,因此避免任何此类黑客攻击.

如果您的Redux状态正在正确更新而您的React视图没有正确更新,那么您很可能不会以不可变的方式进行更新.检查你的减速机.


Rai*_*aif 5

您的问题可能是您要更新的状态不是顶级属性。react调用“ shallowEqual”方法来判断道具是否已更新。这意味着所有顶级属性,但是如果您要更改更深的属性,并且所有顶级属性都相同,则不会重新渲染。

我不确定redux是否会出现这种情况,也许它正在做一些更复杂的事情,但是我知道这就是工作流程。值得一看。