React项目路由懒加载lazy、Suspense,使第一次打开项目页面变快

简介: 本文介绍了在React项目中实现路由懒加载的方法,使用React提供的`lazy`和`Suspense`来优化项目首次加载的速度。通过将路由组件改为懒加载的方式,可以显著减少初始包的大小,从而加快首次加载速度。文章还展示了如何使用`Suspense`组件包裹`Switch`来实现懒加载过程中的fallback效果,并提供了使用前后的加载时间对比,说明了懒加载对性能的提升作用。

一次性加载太多的路由文件会使首次加载的速度很慢,所以我们需要将路由搞成懒加载的形式,用到哪个组件加载哪个组件。庆幸的是React官方已经给我们准备好了插件,也在React库中:

首先 从react这个库中导出lazy、Suspense这两个方法和组件。

import React,{
   Suspense,lazy} from 'react';

router之前的引入方式

import ManageAll from "../pages/Conf/ManageAll";

懒加载的引入当时:lazy函数需要调用

const ManageAll =lazy(()=> import("../pages/Conf/ManageAll"))

最后的操作是在路由
Switch组件外层包裹一层组件 Suspense

 <Suspense fallback={
   <div style={
   {
   display:"none"}}>lodding</div>}>
        <Switch>......Route等路由使用</Switch>
 </Suspense >

fallback属性必须加不加报错:
在这里插入图片描述
意思就是fallback属性需要啥一个dom标签 ,不想要的话我们可以设置css display:none,想要的话我们可以封装一个组件,比如在组件懒加载这段时间来显示一个LOGGING,组件加载完成后,这个会自动隐藏。
这样的话我们每次点击切换一个路由,会单独请求一个包:
在这里插入图片描述
上图是切换了两次的效果。

上版本首页打开时间:
在这里插入图片描述
改成懒加载后:
在这里插入图片描述

目录
相关文章
|
5月前
|
编解码 前端开发 JavaScript
js react antd 实现页面低分变率和高分变率下字体大小自适用,主要是配置antd
在React中结合Ant Design与媒体查询,通过less变量和响应式断点动态调整`@font-size-base`,实现多分辨率下字体自适应,提升跨设备体验。
252 2
|
前端开发 API UED
React 懒加载图片 Lazy Image
懒加载是一种优化技术,通过延迟加载不在视口内的图片,减少初始页面加载时间,提升用户体验。本文从基础概念入手,逐步探讨 React 中实现图片懒加载的常见问题、易错点及解决方案,并通过代码案例详细解释。
606 3
|
前端开发 API UED
React 按需加载 Lazy Loading
随着 Web 应用复杂度增加,页面加载速度成为影响用户体验的关键因素。React 提供了按需加载(Lazy Loading)功能,通过 `React.lazy` 和 `Suspense` 实现动态加载组件,减少初始加载时间,提升性能。本文从基础概念入手,探讨常见问题、易错点及解决方案,并通过代码示例详细说明。
602 1
|
前端开发 API UED
React 路由守卫 Guarded Routes
【10月更文挑战第26天】本文介绍了 React 中的路由守卫(Guarded Routes),使用 `react-router-dom` 实现权限验证、登录验证和数据预加载等场景。通过创建 `AuthContext` 管理认证状态,实现 `PrivateRoute` 组件进行路由保护,并在 `App.js` 中使用。文章还讨论了常见问题和易错点,提供了处理异步操作的示例,帮助开发者提升应用的安全性和用户体验。
652 1
|
11月前
|
前端开发 JavaScript
除了使用Route组件,React Router还有其他方式处理404错误页面吗
除了使用Route组件,React Router还有其他方式处理404错误页面吗
311 58
|
11月前
|
前端开发
如何在React Router中定义404错误页面组件?
如何在React Router中定义404错误页面组件?
307 57
|
11月前
|
前端开发 UED
在React Router中,如何处理路由的404错误页面?
在React Router中,如何处理路由的404错误页面?
381 57
|
11月前
|
前端开发
如何在React Router中进行路由重定向?
如何在React Router中进行路由重定向?
697 57
|
4月前
|
缓存 前端开发 JavaScript
React Hooks深度解析与最佳实践:提升函数组件能力的终极指南
🌟蒋星熠Jaxonic,前端探索者。专注React Hooks深度实践,从原理到实战,分享状态管理、性能优化与自定义Hook精髓。助力开发者掌握函数组件的无限可能,共赴技术星辰大海!
React Hooks深度解析与最佳实践:提升函数组件能力的终极指南
|
9月前
|
缓存 前端开发 数据安全/隐私保护
如何使用组合组件和高阶组件实现复杂的 React 应用程序?
如何使用组合组件和高阶组件实现复杂的 React 应用程序?
327 68