Javascript 有人能详细解释一下useEffect是如何工作的吗?

Javascript 有人能详细解释一下useEffect是如何工作的吗?,javascript,reactjs,Javascript,Reactjs,特别是当我们为useffect提供一个空的依赖数组时。因为据我所知,每次渲染都会产生效果。但是next useEffect如何知道它必须只运行一次呢 但是next useEffect如何知道它必须只运行一次呢 因为在指定依赖项数组时,effect hook仅调用回调: 在山上,和 如果数组中的某些内容发生更改 空数组是一个空数组;它没有任何变化。因此,回调只在挂载时运行一次,不会再次运行 因为据我所知,每次渲染都会产生效果 我不知道你说的“effect”是什么意思,但是如果你以useffec

特别是当我们为useffect提供一个空的依赖数组时。因为据我所知,每次渲染都会产生效果。但是next useEffect如何知道它必须只运行一次呢

但是next useEffect如何知道它必须只运行一次呢

因为在指定依赖项数组时,effect hook仅调用回调:

  • 在山上,和

  • 如果数组中的某些内容发生更改

  • 空数组是一个空数组;它没有任何变化。因此,回调只在挂载时运行一次,不会再次运行

    因为据我所知,每次渲染都会产生效果


    我不知道你说的“effect”是什么意思,但是如果你以
    useffect
    的方式使用“effect”,那么不,没有,如果你提供一个数组作为
    useffect的第二个参数。
    如果你没有提供数组,那么effect钩子会在每次调用组件函数后调用回调函数。但对于阵列,它只在装载和发生变化时才会这样做。

    丹·阿布拉莫夫对它做了彻底的研究。@Bahman。研究工作从来都不是询问堆栈溢出问题的必要条件。你会发现一些最好的帖子,看起来作者没有做任何研究。请注意,两个用户在您的评论之前发布了一个有用的链接。假设他们理解被问到的问题。其中一个也提供了答案。所以在没有依赖关系的情况下,渲染后总是有一个useffect?@HarisJamil-它是这么说的,是的。默认情况下,效果会在每次完成渲染后运行,但您可以选择触发效果