Reactjs 反应:我们如何知道所有组件在setState()之后都已装入/呈现?
在react中,调用组件(Reactjs 反应:我们如何知道所有组件在setState()之后都已装入/呈现?,reactjs,redux,react-redux,Reactjs,Redux,React Redux,在react中,调用组件(R)的setState()可以触发所有子组件的重新渲染 我们怎么知道什么时候结束? 在装载/呈现/更新R的所有子项之后,调用哪个生命周期方法 更详细的信息: 我们考虑以下情况: 有一个根组件R,它的子组件C1和C2 我希望实现我自己的redux存储,其中子组件(C1和C2)可以分派操作,并且在所有子组件都已装载/重新呈现/更新之后,我希望命令redux存储处理分派的操作 因此,我需要知道何时呈现了所有子对象,并安排对redux存储的调用,该调用将命令存储处理分派的操作
R
)的setState()
可以触发所有子组件的重新渲染
我们怎么知道什么时候结束?
在装载/呈现/更新R
的所有子项之后,调用哪个生命周期方法
更详细的信息:
我们考虑以下情况:
有一个根组件R
,它的子组件C1
和C2
我希望实现我自己的redux存储,其中子组件(C1
和C2
)可以分派操作,并且在所有子组件都已装载/重新呈现/更新之后,我希望命令redux存储处理分派的操作
因此,我需要知道何时呈现了所有子对象,并安排对redux存储的调用,该调用将命令存储处理分派的操作
在
R
的所有子项都已装入/呈现/更新之后调用哪个生命周期方法?我想您正在查找组件diddupdate
生命周期事件
当组件正在更新(并且其所有子组件也已更新)时,会触发该事件
⚠ 此事件不会在第一次渲染时触发。如果还需要处理首次渲染,则必须同时使用
componentdiddupdate
和componentDidMount
Update:React已更改其生命周期,但在本例中,所需的方法仍然相同。新的生命周期是:
A) 安装
旧答案
componentdiddupdate
将按您所说的执行。由于道具更改而在渲染后立即启动,或者由于状态更改而在渲染后立即启动
生命周期:
A) 安装
检查
componentdiddupdate
:谢谢,但它会在所有子项都呈现后启动吗?是的。更多信息:我不确定。guy的回答只是当前文档的一个推论,该文档指定在更新DOM时调用componentDidUpdate
,但并不意味着对其自己的子级调用。我想强调的是,这类操作是异步的。父组件渲染直到其所有子组件都被渲染后才完成。因此,如果父级渲染过程未完成,则不会启动componentDidUpdate。在任何情况下,测试并确认这种行为都不是一件乏味的事情。