reactjs - react, useEffect: 可以用全局变量作为因变量吗?
问题描述
window.data = {}
useEffect(() => {
// do something
}, [window.data])
上面的代码有意义吗?
由于 window.data 是全局的,所以在渲染上不会有所不同,并且效果不会执行?
解决方案
不,那行不通。只有在重新渲染组件并且依赖关系发生变化时才能触发效果。更改全局变量不会导致重新渲染,因此效果不会运行。
推荐阅读
- pytorch - 是否有任何内置函数可以使用特定计算从 1D 张量生成 2D 张量?
- ffmpeg - 用FFmpeg yuv编码成H264封装成ts,ts视频发现时长变短了?
- php - 找不到类 (PHP)
- python - 如何检查 validate 元素是否存在于 python 的元组列表中?
- javascript - 在 WebGL 中获取鼠标点击的 3D 坐标
- python - 循环创建多个数据框并写入excel
- python - pynput 键盘监听器自动重复
- c# - 如何将文本从 Form1 中的 textBox 传输到 Form2 中的标签
- javascript - Zxing Android 应用程序无法从网站打开
- javascript - 如何在 gulp-rename 和 gulp-uglify 的相同路径或 dest 中创建一个 min 文件?