Javascript 为什么我的代码沙盒Useffect中没有执行这个返回语句

Javascript 为什么我的代码沙盒Useffect中没有执行这个返回语句,javascript,asynchronous,setinterval,use-effect,Javascript,Asynchronous,Setinterval,Use Effect,我学习了React JavaScript,并拥有这个 正如您在PromiseLoader.js中看到的 useffect中的return有一个console.log(..永不触发为什么? 我认为JavaScriptsetIntervalasynchronous?当React执行清理时,将调用从useEffect返回的函数 从 React什么时候清理效果?React会在组件卸载时执行清理。但是,正如我们前面所了解的,效果会在每次渲染时运行,而不仅仅是一次。这就是为什么React在下次运行效果之前

我学习了React JavaScript,并拥有这个

正如您在PromiseLoader.js中看到的

useffect
中的
return
有一个
console.log(..
永不触发为什么?
我认为JavaScript
setInterval
asynchronous?

当React执行清理时,将调用从
useEffect
返回的函数

React什么时候清理效果?React会在组件卸载时执行清理。但是,正如我们前面所了解的,效果会在每次渲染时运行,而不仅仅是一次。这就是为什么React在下次运行效果之前还会清理上一次渲染的效果。我们将讨论为什么这有助于避免错误以及如何选择退出渲染如果此行为在下文中产生性能问题,请参阅

查看此修改后的沙箱以查看其效果:


单击按钮可显示/隐藏Promise Loader组件。请注意,当您隐藏该组件时,它会卸载,并且console.log会显示确实正在执行清理功能。

Well useEffect turn是一个函数,因此您需要在某个时候调用该函数。是否?