Javascript Recat钩子如何在状态为0时检测更改
我的意思是:Javascript Recat钩子如何在状态为0时检测更改,javascript,reactjs,react-hooks,use-effect,Javascript,Reactjs,React Hooks,Use Effect,我的意思是: React.useEffect(() => { console.log('here'); }, [val === undefined ? null : val]); 但是val可以是0,所以当val=0时不会触发效果,因为它认为它是错误的。。。那么如何告诉React,如果值为0,则触发效果?只要依赖项数组中的一个值发生更改,就会触发效果。 数组中的值在使用Object.is的渲染之间进行比较。只要依赖关系数组中的一个值发生更改,就会触发效果。 数组中的值在使用Ob
React.useEffect(() => {
console.log('here');
}, [val === undefined ? null : val]);
但是val可以是0,所以当val=0时不会触发效果,因为它认为它是错误的。。。那么如何告诉React,如果值为0,则触发效果?只要依赖项数组中的一个值发生更改,就会触发效果。
数组中的值在使用Object.is的渲染之间进行比较。只要依赖关系数组中的一个值发生更改,就会触发效果。
数组中的值在使用Object.is的渲染之间进行比较。您可以这样编写代码
useEffect(() => {
if(val !== undefined){
//do something
}
}, [val])
您可以按这种方式编写代码
useEffect(() => {
if(val !== undefined){
//do something
}
}, [val])
当值变为0时,效果应至少触发一次。如果在重新渲染之间保持不变,则不会触发效果。我创建了一个显示0触发useEffect的小沙盒:当值变为0时,效果应该至少触发一次。如果在重新渲染之间保持不变,则不会触发效果。我创建了一个小沙盒,显示0触发效果: