我在React Component中导入SCSS样式表时出现此错误:
server.js:614 return / msie [6-9] \ B /。测试(window.navigator.userAgent.toLowerCase()); ^
ReferenceError:未定义窗口
这是我的Home.jsx
为什么???
答案 0 :(得分:0)
因为您在服务器上呈现视图
在服务器(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;
}
}
答案 1 :(得分:-1)
窗口对象仅在客户端提供
1. * 第一步是确保您没有进行服务器端渲染,窗口对象仅在浏览器上可用。
2. * 其次,如果您使用webpack并在 webpack-dev-server 模式下运行您的应用程序,则您的窗口对象不是可检测到而不是
localhost: 8080/webpack-dev-server/
试
localhost: 8080/