在一个子组件上,我有一个函数可以根据某些条件更新本地状态。我想在数据更改时调用该函数,但它会导致遵循useEffect准则的无限循环。
const func(val:any,arr:any[]){
...
setArr(arr)
}
useEffect(() => {
val && val.length > 0 && func(val,arr)
},[val,func,arr])
const func(val:any,arr:any[]){
...
setArr(arr)
}
useEffect(() => {
val && val.length > 0 && func(val,arr)
},[val])
我希望val是组件函数中的一个变量,当且仅当val发生变化时,您必须传递您希望useEffect注意的变量,并根据该变化进行更改。
在数组依赖项中添加函数总是会导致无限循环,因为数组依赖项会监视更改并根据这些更改呈现组件
useEffect:嘿,函数,有人叫我给你打电话。
功能:嘿,效果我听到了。
useEffect:嘿,功能你回答了兄弟,我不得不再打电话给你,因为你是我的依赖。