react useEffect 依赖

32 阅读1分钟

背景:使用useEffect依赖数组是一个对象的时候,对象地址变化导致useEffect更新。实际想要的效果希望对象中的status变化才触发更新。

实际:所以应该依赖数组中应该是[obj?.status]为了防止objundefined,用?.

总结:useEffect的依赖项是浅比较,如果是对象,对象内存地址发生变化就会更新;如果是基本类型数据,数据值改变会触发更新。