node.js - Node.js 中的错误 `window not defined`

标签 node.js reactjs webpack webpack-dev-server

我知道 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/

相关文章:

javascript - 将可编辑 Select2Cell 的值替换为已从数据库呈现的 Backgrid 表中的文本(链接到值)

javascript - 通过 Input React 将参数从子级传递给父级

javascript - 带有 React-Native 和 mapStateToProps 的 Redux

html - 从 netlify 托管的我的 reactjs 中的链接断开

json - 需要 ('file.json' )在 webpack 中不起作用

javascript - 使用 webpack 处理图像的想法

javascript - 中止所有 axios 待处理请求并创建新的

node.js - 使用 SaveFileDialog 将目录导出为 zip

webpack - 将 Mocha 与 Babel 结合使用时出现意外的 token 导入

javascript - 类型错误 : Cannot read property 'sid' of undefined