[英]no dependencies in react useEffect?
in what case I shouldn't put the empty array [] as dependcies in react useEffect?在什么情况下我不应该将空数组 [] 作为依赖关系放入 react useEffect 中? like
喜欢
React.useEffect(() => {
if (true) {
doStuff()
}
return () => null;
});
Is above code even valid?上面的代码甚至有效吗?
Your code is valid.您的代码有效。
undefined
is passed as dependencies and it means useEffect
runs on every render. undefined
作为依赖项传递,这意味着useEffect
在每个渲染上运行。 So if you want to do some work that shouldn't be run on every render (like adding event listener), you should give a dependency array.所以如果你想做一些不应该在每次渲染上都运行的工作(比如添加事件监听器),你应该给出一个依赖数组。
just remember 3 rules:只需记住 3 条规则:
useEffect(()=>{},[]) //this is like componentDidMount
useEffect(()=>{}) //this will run every render
useEffect(()=>{},[dep1, dep2]) //this will run if one on de dependency change
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.