我正尝试将lazy loading
与create-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尚不能用于服务器端渲染。如果要在服务器渲染的应用程序中进行代码拆分,建议使用可加载组件。对于使用服务器端渲染进行捆绑包拆分,它提供了很好的指导。
答案 0 :(得分:3)
React.lazy仅从v16.6.0 https://reactjs.org/blog/2018/10/23/react-v-16-6.html起可用
答案 1 :(得分:0)
在命令行界面中,尝试使用以下命令更新React:
npm i react@latest
重新启动Development Server,如果仍然遇到问题,请尝试以下步骤:
在Readme.md文件中搜索REACT_EDITOR,然后在其前面插入=atom
,如下所示:
REACT_EDITOR=atom
然后,保存,重新启动开发服务器。现在应该可以工作