简体   繁体   English

React.useEffect 依赖项缺少依赖项

[英]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.如果prevCheckedchecked不相等,那么你会提前取消。

 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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM