Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs 当移除或添加子组件时,会触发哪些钩子?_Reactjs - Fatal编程技术网

Reactjs 当移除或添加子组件时,会触发哪些钩子?

Reactjs 当移除或添加子组件时,会触发哪些钩子?,reactjs,Reactjs,当其中一个子组件被移除(由于条件而未渲染)然后再次添加回来时,是否有任何钩子被触发?这种变化是由于组件树上方某个位置的状态更新引起的,但我想在中途拦截它 出于某种原因,我的印象是,在这种情况下,componentdiddupdate应该触发,但现在我看到,只有当更新发生在组件状态或其子组件的状态时,它才会关闭 每个组件都有几个“生命周期方法”,您可以覆盖这些方法,以便在流程中的特定时间运行代码 三种生命周期方法是装载、更新和卸载 更新 道具或状态的更改可能会导致更新。这些方法在重新渲染组件时调用

当其中一个子组件被移除(由于条件而未渲染)然后再次添加回来时,是否有任何钩子被触发?这种变化是由于组件树上方某个位置的状态更新引起的,但我想在中途拦截它

出于某种原因,我的印象是,在这种情况下,
componentdiddupdate
应该触发,但现在我看到,只有当更新发生在组件状态或其子组件的状态时,它才会关闭

每个组件都有几个“生命周期方法”,您可以覆盖这些方法,以便在流程中的特定时间运行代码

三种生命周期方法是
装载
更新
卸载

更新

道具或状态的更改可能会导致更新。这些方法在重新渲染组件时调用

因此,当未呈现子组件时,它不属于任何类别,即装载、卸载或更新。组件存在生命周期方法,子组件中发生的任何更改都不会以任何方式影响父组件生命周期方法

要对特定组件进行更新,如上所述,必须对该特定组件的
状态
道具
进行更改


阅读react文档。

如果未渲染,则不会触发钩子。只有在现有dom元素被更改时才会触发钩子吗?我想我对react中的基本内容有一个严重的误解。。。如果删除/添加了组件的某个子组件,则该子组件不算是对该组件的更新吗?复杂对象作为道具传递给给定组件,并根据其若干属性的值,在树的某个位置渲染或不渲染子组件。这不算是对该组件的道具的更改吗?只有当该特定组件的
prop
更改时,才会触发生命周期挂钩。让有
父母
孩子
孙子
,还有
孩子
孙子
传递道具。无论传递给
孙辈的道具发生什么情况,除非
父代
传递给
子代
道具
子代
的状态发生更改,否则不会触发更新。