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

una*_*der 1 reactjs react-hooks

假设我们有这个:


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

useEffect(() => {
  // do something
}, [number]);
Run Code Online (Sandbox Code Playgroud)

如果进行一些计算会怎样:

set_number(2 - 1);
Run Code Online (Sandbox Code Playgroud)

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

gio*_*gim 7

\n

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

\n
\n

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

\n
\n

如果某些值\nhaven\xe2\x80\x99t 在重新渲染之间发生变化,您可以告诉 React 跳过应用效果。为此,请将数组作为\n可选的第二个参数传递给 useEffect

\n
\n