react, useEffect: 可以用全局变量作为因变量吗?

eug*_*ene 6 reactjs react-native

window.data = {}

useEffect(() => {
// do something
}, [window.data])
Run Code Online (Sandbox Code Playgroud)

上面的代码有意义吗?

因为 window.data 是全局的,它在渲染上不会有什么不同,效果也不会执行?

vku*_*kin 6

不,那行不通。Effect 只能在重新渲染组件和依赖项更改时触发。更改全局变量不会导致重新渲染,因此效果不会运行。