反应,useEffect:可以将全局变量用作因变量吗?

时间:2020-03-28 13:21:31

标签: reactjs react-native

window.data = {}

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

上面的代码有意义吗?

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

2 个答案:

答案 0 :(得分:5)

不,那是行不通的。仅在重新渲染组件并且更改依赖项时才能触发效果。更改全局变量不会导致重新渲染,因此效果不会运行。

答案 1 :(得分:0)

它实际上使我重新渲染。它有效,但我认为这是一种反模式