Saw*_*oes 15 node.js reactjs webpack webpack-dev-server
我知道windowNode.js中不存在,但我在客户端和服务器上使用React和相同的代码.我用来检查是否window存在的任何方法都会阻止我:
未捕获的ReferenceError:未定义窗口
我如何解决我不能做的事实window && window.scroll(0, 0)?
Jef*_*iks 19
Sawtaytoes得到了它.我会在componentDidMount()中运行你拥有的任何代码并用它包围它:
if (typeof(window) !== 'undefined') {
// code here
}
Run Code Online (Sandbox Code Playgroud)
如果在React渲染组件的时候仍然没有创建窗口对象,那么在组件渲染之后总是可以运行代码一小段时间(并且窗口对象肯定是在那时创建的)因此用户不能分辨其中的不同之处.
if (typeof(window) !== 'undefined') {
var timer = setTimeout(function() {
// code here
}, 200);
}
Run Code Online (Sandbox Code Playgroud)
我建议不要在setTimeout中放置状态.
这将为您解决该问题:
typeof(window) === 'undefined'
Run Code Online (Sandbox Code Playgroud)
即使未定义变量,也可以使用typeof()它进行检查。
| 归档时间: |
|
| 查看次数: |
17478 次 |
| 最近记录: |