Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Reactjs react,useffect:您可以将全局变量用作因变量吗?_Reactjs_React Native - Fatal编程技术网

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])