首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >React内联样式: ReferenceError:窗口未定义

React内联样式: ReferenceError:窗口未定义
EN

Stack Overflow用户
提问于 2016-02-25 10:06:37
回答 2查看 2.5K关注 0票数 1

当我在React组件中导入SCSS样式表时,出现了此错误:

6-9\b/.test(window.navigator.userAgent.toLowerCase());^ server.js:614返回/msie ^ ReferenceError:未定义窗口

这是我的Home.jsx

为什么?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-02-25 10:16:23

因为您在服务器上呈现视图,所以在服务器(node.js)中没有window对象

将代码更改为在客户端呈现,使用componentDidMount事件和标志

代码语言:javascript
复制
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;
  }
}
票数 0
EN

Stack Overflow用户

发布于 2016-04-29 08:23:26

窗口对象仅在客户端上可用。

1.*的第一步是确保您没有进行服务器端呈现,窗口对象仅在浏览器上可用。

第二,如果您使用webpack并在webpack-dev-server模式下运行您的应用程序,您的窗口对象是不可检测的,所以

代码语言:javascript
复制
localhost: 8080/webpack-dev-server/

试一试

代码语言:javascript
复制
localhost: 8080/
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35624129

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档