我希望在useEffect中使用选中的值,但不希望在依赖数组中添加它,因为我不希望在检查更新时调用useEffect。
但是我得到警告"React有缺少依赖项:“选中”.Either包含它或删除依赖项数组“。
const[checked , setChecked] = React.useState(false);
useEffect(() = >{
if(data.length && !checked){
setChecked(true)
}
else{
//something
}
},[data]);发布于 2022-05-09 07:29:28
可以这样做的一种方法是使用usePrevious钩子来跟踪checked的最后一个值。如果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]);
https://stackoverflow.com/questions/72168212
复制相似问题