TypeError:react__WEBPACK_IMPORTED_MODULE_6 ___ default.a.lazy不是react@16.5.2的函数

时间:2018-12-15 08:16:40

标签: reactjs webpack lazy-loading

我正尝试将lazy loadingcreate-react-app一起使用react@16.5.2,我做到了:

import React, { Component } from 'react';
import { BrowserRouter } from 'react-router-dom';

const Header = React.lazy(() => import('./_header'));     

class SomeFile extends Component {

  render() {
    return (
      <BrowserRouter>
          <React.Fragment>
            <Header  />
          </React.Fragment>
      </BrowserRouter>
    );
  }
}

export default SomeFile;

您知道为什么会发生此错误吗?是因为我的反应版本?根据{{​​3}}来看,一切似乎都很好!

编辑

这是什么意思?基于reactjs.org

注意:

React.lazy和Suspense尚不能用于服务器端渲染。如果要在服务器渲染的应用程序中进行代码拆分,建议使用可加载组件。对于使用服务器端渲染进行捆绑包拆分,它提供了很好的指导。

2 个答案:

答案 0 :(得分:3)

答案 1 :(得分:0)

在命令行界面中,尝试使用以下命令更新React:

npm i react@latest

重新启动Development Server,如果仍然遇到问题,请尝试以下步骤:

在Readme.md文件中搜索REACT_EDITOR,然后在其前面插入=atom,如下所示:

REACT_EDITOR=atom

然后,保存,重新启动开发服务器。现在应该可以工作