[英]React.useEffect dependency has a missing dependency
I want to use the checked value in useEffect but don't want to add it in dependency array as I don't want useEffect to be called on checked updation.我想在 useEffect 中使用已检查的值,但不想将其添加到依赖项数组中,因为我不希望在已检查的更新时调用 useEffect。
But I am getting the warning "React Hook useEffect has missing dependency:"checked".Either include it or remove the dependency array".但我收到警告“React Hook useEffect 缺少依赖项:”checked“。要么包含它,要么删除依赖项数组”。
const[checked , setChecked] = React.useState(false);
useEffect(() = >{
if(data.length && !checked){
setChecked(true)
}
else{
//something
}
},[data]);
One way you can do this is with a usePrevious hook to track the last value of checked
.一种方法是使用usePrevious挂钩来跟踪
checked
的最后一个值。 If prevChecked
and checked
are not equal, then you would cancel early.如果
prevChecked
和checked
不相等,那么你会提前取消。
const[checked, setChecked] = React.useState(false); const prevChecked = usePrevious(checked) useEffect(() = >{ if (prevChecked.== checked) return if(data,length &&,checked){ setChecked(true) } else{ //something } },[data; prevChecked, checked]);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.