美文网首页Front-end Related
react lazy 和 router 的使用

react lazy 和 router 的使用

作者: 虚玩玩TT | 来源:发表于2019-08-17 06:28 被阅读0次

react-app 可以按需加载组件了,这里记录一下跟router配合使用。

import React, { Suspense, lazy } from 'react';
import { Route, Switch } from 'react-router-dom';

const RouterList = [
  { component: lazy(()=>import('组件路径')), pathname: '/' }
];

export default () => {
  return (
    <div className={'app'}>
      <Suspense fallback={<div>loading</div>}>  // fallback 可接受一个组件,可为 null
        <Switch>
          {
            RouterList.map((s, i) => {
              let PageModule = s.component;  // 给匿名组件取个名字,便于下面用
              return <Route key={'router' + i}
                path={s.pathname}
                exact
                render={(props) => <PageModule {...props} />}  // 这里用 render
              />
            })
          }
        </Switch>
      </Suspense>
    </div>
  );
};

相关文章

网友评论

    本文标题:react lazy 和 router 的使用

    本文链接:https://www.haomeiwen.com/subject/flxhsctx.html