Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/reactjs/21.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 子组件渲染时如何触发useEffect?_Reactjs_React Hooks_Use Effect - Fatal编程技术网

Reactjs 子组件渲染时如何触发useEffect?

Reactjs 子组件渲染时如何触发useEffect?,reactjs,react-hooks,use-effect,Reactjs,React Hooks,Use Effect,我知道我们可以触发useffect挂钩: 每次组件渲染时 组件安装和/或卸载时 当其中一个定义的依赖项发生更改时 但是,当子组件呈现时,是否可能触发它?您可以将函数作为prop传递给子组件,并在子组件内部使用useEffect,以便每次它再次呈现时,您都可以运行prop函数。您可以做的一种方法是将回调传递给子组件,该回调将随每个子组件调用提供。现在,这个回调将用钩子更新父组件的一个属性。你的钩子可以指定这个道具作为它的依赖项,这意味着每次它改变时,你的钩子都会被触发。这将确保钩子只在父组件内部,

我知道我们可以触发
useffect
挂钩:

  • 每次组件渲染时
  • 组件安装和/或卸载时
  • 当其中一个定义的依赖项发生更改时

  • 但是,当子组件呈现时,是否可能触发它?

    您可以将函数作为prop传递给子组件,并在子组件内部使用useEffect,以便每次它再次呈现时,您都可以运行prop函数。您可以做的一种方法是将回调传递给子组件,该回调将随每个子组件调用提供。现在,这个回调将用钩子更新父组件的一个属性。你的钩子可以指定这个道具作为它的依赖项,这意味着每次它改变时,你的钩子都会被触发。这将确保钩子只在父组件内部,但问题是钩子会触发父组件重新渲染,并且会陷入循环中。据我所知,你不需要一个钩子,而需要一个能监视子组件的每个渲染并做一些事情的东西。在这种情况下,一个简单的回调就足够了

    谢谢您的输入。但是,我正在寻找一种方法,在保持父组件中的useEffect调用的同时实现这一点。