懒加载往往配合路由一起使用,此处修改的项目是 二、【React-Router5】路由的基本使用 中的项目
首先从react中引入lazy
import { lazy } from 'react'
修改引入路由组件的写法
// import About from './pages/About'
// import Home from './pages/Home'
const About = lazy(() => import('./pages/About'))
const Home = lazy(() => import('./pages/Home'))
此时你会发现报错了
翻译过来就是
啥意思呢?意思就是需要使用 React 18 新特性:startTransition 进行处理,这里暂时不讨论(注此项小白未验证,后续若有新版笔记可能会做验证,静待后续更新)
使这里使用 =Suspense== 进行处理
使用 Suspense 解决问题
引入 Suspense:import { Suspense } from 'react'
给注册路由的地方套上,并配置 fallback 展示未加载完成时显示的内容
加载中...}>{/* Route 注册路由 */} {/* 兜底 */}
fallback 也可以配置成一个加载组件,丰富一下加载页面
import { lazy, Suspense } from 'react'
impot Loding from './components/Loading'//1.通过React的lazy函数配合import()函数动态加载路由组件 ===> 路由组件代码会被分开打包
const Login = lazy(()=>import('@/pages/Login'))//2.通过指定在加载得到路由打包文件前显示一个自定义loading界面
}>Xxxx}/>
上一篇:项目的坎坷一生