gpt4 book ai didi

reactjs - 在useEffect中,不提供依赖数组和提供空依赖数组有什么区别?

转载 作者:行者123 更新时间:2023-12-03 13:57:00 25 4
gpt4 key购买 nike

我认为,如果提供了空的依赖项数组,则每次渲染后都会运行 useEffect Hook:

useEffect(() => {
performSideEffect();
}, []);

但是它和下面的有什么区别呢?

useEffect(() => {
performSideEffect();
});

请注意末尾缺少[]。 linter 插件不会发出警告。

最佳答案

不太一样。

  • 给它一个空数组就像componentDidMount一样,它只运行一次。

  • 不给它第二个参数就可以同时起到 componentDidMountcomponentDidUpdate 的作用,因为它首先在挂载时运行,然后在每次重新渲染时运行。

  • 给它一个数组作为第二个参数,其中包含任何值,例如 , [variable1] 将仅在挂载时执行 useEffect Hook 内的代码一次,以及每当特定变量(变量1)发生变化时。

您可以在 https://reactjs.org/docs/hooks-effect.html 的官方文档中阅读有关第二个参数的更多信息以及有关钩子(Hook)实际如何工作的更多信息。

关于reactjs - 在useEffect中,不提供依赖数组和提供空依赖数组有什么区别?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58579426/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com