Reactjs react,useffect:您可以将全局变量用作因变量吗?
上面的代码有意义吗Reactjs react,useffect:您可以将全局变量用作因变量吗?,reactjs,react-native,Reactjs,React Native,上面的代码有意义吗 因为window.data是全局的,所以在渲染时不会有什么不同,效果也不会执行?不,这不起作用。仅当组件重新招标且依赖项更改时,才能触发此效果。更改全局变量不会导致重新渲染,因此效果不会运行。它实际上会导致我重新渲染。它可以工作,但我认为它是一种反模式只是测试一下吗?应该有用。。。但是“在几乎任何编程语言中,全局变量都被认为是一种反模式”wel,我发现它不起作用(尽管我正在从RN设置Webview的window.test),并且不确定。。是的,我本可以测试它:(我正在使用us
因为window.data是全局的,所以在渲染时不会有什么不同,效果也不会执行?不,这不起作用。仅当组件重新招标且依赖项更改时,才能触发此效果。更改全局变量不会导致重新渲染,因此效果不会运行。它实际上会导致我重新渲染。它可以工作,但我认为它是一种反模式只是测试一下吗?应该有用。。。但是“在几乎任何编程语言中,全局变量都被认为是一种反模式”wel,我发现它不起作用(尽管我正在从RN设置Webview的window.test),并且不确定。。是的,我本可以测试它:(我正在使用
useLayoutEffect
来测试它,并且我将窗口存储在另一个变量中。这会导致ESLint停止违反钩子依赖关系。我仍然在寻找更好的方法,但是,我现在不得不这么做
window.data = {}
useEffect(() => {
// do something
}, [window.data])