我知道 Node.js 中不存在 window
,但我在客户端和服务器上都使用 React 和相同的代码。我用来检查 window
是否存在的任何方法都会让我感到震惊:
Uncaught ReferenceError: window is not defined
如何解决我不能执行 window && window.scroll(0, 0)
的事实?
最佳答案
Sawtaytoes 得到了它。我会运行你在 componentDidMount() 中的任何代码并用:
if (typeof(window) !== 'undefined') {
// code here
}
如果在 React 渲染组件时窗口对象仍未创建,您始终可以在组件渲染后的几分之一秒内运行您的代码(并且到那时窗口对象肯定已经创建),以便用户无法区分。
if (typeof(window) !== 'undefined') {
var timer = setTimeout(function() {
// code here
}, 200);
}
我建议不要将状态放入 setTimeout。
关于node.js - Node.js 中的错误 `window not defined`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35374257/