Reactjs 为什么会调用useEffect外部的函数,而没有依赖项数组的useEffect内部的函数不';T

Reactjs 为什么会调用useEffect外部的函数,而没有依赖项数组的useEffect内部的函数不';T,reactjs,react-hooks,use-effect,use-state,rerender,Reactjs,React Hooks,Use Effect,Use State,Rerender,直到今天,我还以为没有依赖数组的useEffect内部的代码和useEffect外部的代码都会在每次重新加载时触发,但后来我发现了这种奇怪的情况,我不明白为什么会发生这种情况 在示例中,第一次单击按钮时,它会将setState触发为不同的值,因此它会重新加载并同时调用console.log,但第二次单击按钮时,会使用相同的值调用setState,仍然调用外部console.log,但不会调用内部console.log useffect。。。为什么?这不是一个完整的重播吗?如何在不再次触发useE

直到今天,我还以为没有依赖数组的useEffect内部的代码和useEffect外部的代码都会在每次重新加载时触发,但后来我发现了这种奇怪的情况,我不明白为什么会发生这种情况

在示例中,第一次单击按钮时,它会将setState触发为不同的值,因此它会重新加载并同时调用console.log,但第二次单击按钮时,会使用相同的值调用setState,仍然调用外部console.log,但不会调用内部console.log useffect。。。为什么?这不是一个完整的重播吗?如何在不再次触发useEffect的情况下重新评估组件

下次单击按钮时,不会发生任何事情,因为使用相同的值调用setState不会触发重新启动,但第一次会执行我不理解的奇怪的半重新启动操作

提前谢谢