componentDidUpdate()
在更新发生后立即被调用
但是我注意到即使没有更新浏览器DOM元素,也会调用componentDidUpdate()
。
那么, 更新 发生在React文档中是什么意思?
答案 0 :(得分:3)
答案 1 :(得分:1)
componentDidUpdate在调用组件中的渲染函数时被调用。当状态或道具更改时,可能会发生这种情况。调用forceUpdate时也会发生这种情况。
有时,组件更新可能不会触发DOM更新。这是因为React在更新后创建了一个虚拟DOM,并在更新前检查了该虚拟DOM。并且只有存在差异时,DOM才会更新。在您的情况下,可能虽然触发了渲染功能,但虚拟DOM没有任何变化,因此没有DOM更新。
答案 2 :(得分:1)
componentDidUpdate
的参数应满足您的查询。 prevProps
,prevState
,snapshot
是从其他一些挂钩中更新的数据。到那时,您将需要componentDidUpdate
来处理更新。
此picture应该为您提供有关更新的详细信息:
因此,您可以看到componentDidUpdate()
在更新发生后立即被调用。
答案 3 :(得分:1)
componentDidUpdate将在初始渲染后对组件进行任何状态或PROP更改的情况下运行,无论该更改是否影响DOM。