首页 > 解决方案 > react, useEffect: 可以用全局变量作为因变量吗?

问题描述

window.data = {}

useEffect(() => {
// do something
}, [window.data])

上面的代码有意义吗?

由于 window.data 是全局的,所以在渲染上不会有所不同,并且效果不会执行?

标签: reactjsreact-native

解决方案


不,那行不通。只有在重新渲染组件并且依赖关系发生变化时才能触发效果。更改全局变量不会导致重新渲染,因此效果不会运行。


推荐阅读