React Inline Style: ReferenceError: window is not defined
React Inline Style: ReferenceError: window is not defined
我在 React Component 中导入 SCSS 样式表时出现此错误:
server.js:614 return /msie
[6-9]\b/.test(window.navigator.userAgent.toLowerCase());
^
ReferenceError: window is not defined
这是我的Home.jsx
为什么???
因为您是在服务器上渲染您的视图
在服务器 (node.js) 中我们没有 window
对象
更改代码以在客户端呈现使用 componentDidMount
事件和标记
export default class AsyncMap extends Component {
state = {
inBrowser: false
}
componentDidMount() {
this.setState({inBrowser: true});
}
yourCurrentRender() {...}
render() {
let res = null;
if (this.state.inBrowser) {
res = this.renderNewBehavior();
} else {
res = <span>Loading</span>;
}
return res;
}
}
window object is available only on the client side
1.* 第一步是确保您没有进行服务器端渲染,window 对象是仅在浏览器上可用。
2.* 其次,如果您正在使用 webpack 并且 运行 您的应用程序在 webpack-dev-server 模式你的 window 对象是不可检测的所以而不是
localhost: 8080/webpack-dev-server/
尝试
localhost: 8080/
我在 React Component 中导入 SCSS 样式表时出现此错误:
server.js:614 return /msie [6-9]\b/.test(window.navigator.userAgent.toLowerCase()); ^
ReferenceError: window is not defined
这是我的Home.jsx
为什么???
因为您是在服务器上渲染您的视图
在服务器 (node.js) 中我们没有 window
对象
更改代码以在客户端呈现使用 componentDidMount
事件和标记
export default class AsyncMap extends Component {
state = {
inBrowser: false
}
componentDidMount() {
this.setState({inBrowser: true});
}
yourCurrentRender() {...}
render() {
let res = null;
if (this.state.inBrowser) {
res = this.renderNewBehavior();
} else {
res = <span>Loading</span>;
}
return res;
}
}
window object is available only on the client side
1.* 第一步是确保您没有进行服务器端渲染,window 对象是仅在浏览器上可用。
2.* 其次,如果您正在使用 webpack 并且 运行 您的应用程序在 webpack-dev-server 模式你的 window 对象是不可检测的所以而不是
localhost: 8080/webpack-dev-server/
尝试
localhost: 8080/