首页 > 解决方案 > 在 React 中,如果将依赖项更改为相同的值,useEffect 会被触发吗?

问题描述

假设我们有这个:


const [number, set_number] = useState(1);

useEffect(() => {
  // do something
}, [number]);

如果一些计算这样做了怎么办:

set_number(2 - 1);

在这种情况下会触发 useEffect 吗?

标签: reactjsreact-hooks

解决方案


在 React 中,如果将依赖项更改为相同的值,useEffect 会被触发吗?

不,它没有,依赖项的目的是在至少一个依赖项发生变化时触发效果(即具有与先前渲染不同的值)。从文档

如果某些值在重新渲染之间没有改变,你可以告诉 React 跳过应用效果。为此,请将数组作为可选的第二个参数传递给 useEffect


推荐阅读