React 组件动态加载/懒加载

    React16.6版本提供了Suspenselazy用于组件的动态加载(暂不支持服务端渲染)。
    对于可能不会使用的模态框组件之类使用动态加载,仅在使用时加载,加快页面的加载速度。

    动态加载:即需要展示时才去加载这部分代码

    App.js
    import React, { useState, Suspense, lazy } from "react";
    import "./styles.css";
    
    const Test = lazy(() => import("./pages/Test"));
    
    export default function App() {
      const [state, setState] = useState(false);
      return (
        <div className="App">
          <button onClick={() => setState(true)}>动态加载</button>
          <Suspense fallback={<div>loading...</div>}>{state && <Test />}</Suspense>
        </div>
      );
    }
    Test.js
    import React from "react";
    
    export default function Test() {
      return <div>test</div>;
    }