本文教学如何配置最新路由的懒加载 以及 组件懒加载
组件引入方式
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9ps1oBfc-1660031012499)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9938f1f4b8dc47569113be08ba1f4fa4~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2022/08/13/065037325.png)
需要用到懒加载的组件:此时我这个组件默认是关闭的,类似于弹窗之类的,就需要最好做一个懒加载
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-eLm4lgNq-1660031012501)(https://p3-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/c8485df510314ae38655584186a46ee8~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2022/08/13/065037594.png)
再配置一个过渡组件,就是等待我们懒加载的组件还没过来时运行此组件
我这边是配置在index.tsx里面
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S8Pe2Yyu-1660031012502)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/7e789387a3554211aa871367fea29c16~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2022/08/13/065037749.png)
这样就实现了组件懒加载,在我们需要将该组件懒加载的时候就采用lazy的方式导入即可
有了组件懒加载在index.tsx中配置的过渡组件,我们这同样可以复用
如果我们不想用也可以自己定制Suspense,嵌套在路由组件前即可如 lztest
route index.tsx
import { lazy, Suspense } from "react";
import { Navigate } from "react-router-dom";
// React 组件懒加载
const TodoList = lazy(() => import("../commponet/TodoList"));
const LazyTest = lazy(() => import("../page/LazyTest"));
interface Router {
name?: string;
path: string;
children?: Array;
element: any;
}
const routes: Array = [
{
path: "/tsdemo",
element: ,
},
{
path: "/lztest/:name/:age/:sex",
// element: ,
element: (
加载中....}>
),
},
{
path: "/",
element: ,
},
];
export default routes;
先降低网速
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qjy25HiV-1660031012503)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/20e0094287894b388117c06f37fdb16e~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2022/08/13/065037891.png)
刷新
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-U05V7DSv-1660031012505)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/25a57ff3160742caab3d20c1a78c3f48~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2022/08/13/065038108.png)
点击控制懒加载组件显示
我们会发现此时会加载一个文件,这个文件就是对应的懒加载文件
说明我们成功实现了懒加载
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-DIwKAAbL-1660031012507)(https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/ffc295415abf4a8499169e7864a1f354~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2022/08/13/065038361.png)
点击切换路由
第一个是加载组件的懒加载文件
第二个是加载路由组件的懒加载文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jpjibHgQ-1660031012512)(https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/cf3b171a2a1b4f8e82596b3ddce6adbc~tplv-k3u1fbpfcp-watermark.image?)]](https://1000bd.com/contentImg/2022/08/13/065038488.png)
成功!
