当布尔值在一个方向上发生变化时执行 useEffect 的更好方法?



我想在valfalsetrue时执行效果,但不是相反。

这是我想到的最好的:

const valPrev = useRef(val);
useEffect(() => {
if (val && !valPrev.current) {
// do stuff
}
valPrev.current = val;
}, [val]);

但感觉可能有一种更聪明的方法,也许以某种方式使用返回函数?

编辑:我的错,我忽略了压力,我希望效果在变化上运行。每当 valfalse变成true.这意味着它应该跳过初始渲染。

那这个呢?

useEffect(() => {
if (val) {
// do stuff
}
}, [val]);

相关内容

  • 没有找到相关文章

最新更新