1. 组件导入方式,改为React.lazy(() => import ('xxx'))
2. React.Suspense组件负责懒加载,
🔔包住Switch组件
🔔设置fallback属性
import { BrowserRouter as Router, Redirect, Route, Switch } from 'react-router-dom'
// import Login from '@/pages/Login'
// import Layout from '@/pages/Layout'
{/* 1. */}
const Login = React.lazy(() => import('@/pages/Login'))
const Layout = React.lazy(() => import('@/pages/Layout'))
export default function App() {
return (
<Router>
{/* 2. */}
<React.Suspense fallback={<div>...加载中...</div>}>
<Switch>
<Redirect from='/' exact to='/layout'></Redirect>
<Route path='/login' component={Login} />
<Route path='/layout' component={Layout} />
</Switch>
{/* 2. */}
</React.Suspense>
</Router>
)
}