元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件)但得到:符号

Afs*_*fda 4 lazy-loading reactjs webpack

我正在尝试lazy Loading用于我的应用程序。

索引.js

import React, { Suspense , lazy , Component } from 'react';
import ReactDOM from 'react-dom';
import 'index.scss';
import SomeComponent from './someComponent.js';
import * as serviceWorker from 'serviceWorker';

ReactDOM.render(<SomeComponent />, document.getElementById('root'));
serviceWorker.unregister();
Run Code Online (Sandbox Code Playgroud)

一些组件 index.js 文件

import React, { Suspense , lazy , Component } from 'react';
import { BrowserRouter } from 'react-router-dom';
const Header = lazy(() => import('./_header'));

class SomeComponent extends Component {
  render() {
    return (
      <BrowserRouter>
          <React.Fragment>
            <Suspense>
              <Header />
            </Suspense>
          </React.Fragment>
      </BrowserRouter>
    );
  }
}

export default SomeComponent;
Run Code Online (Sandbox Code Playgroud)

标头 index.js 文件

import React, { Component } from 'react';
import './index.scss';

class Header extends Component {
    render() {
        return (
            <h1>Header</h1>
        );
    }
}
export default Header;
Run Code Online (Sandbox Code Playgroud)

但我有这个错误:

元素类型无效:应为字符串(对于内置组件)或类/函数(对于复合组件),但得到:符号。

我的反应版本是v16.6.3

Afs*_*fda 5

Suspense and lazy 可在以下版本中访问:

"react": "^16.6.3"
"react-dom": "^16.6.3"
Run Code Online (Sandbox Code Playgroud)

此错误与react-dom未正确升级的有关!