【React】路由懒加载

使⽤ React Router 进⾏⻚⾯路由时,将⻚⾯组件按需加载,⽽不是⼀次性加载所有⻚⾯组件。

路由懒加载的原理是基于 ES6 的动态 import 特性,通过在 Webpack 打包时使⽤ React.lazy() 和 Suspense 进⾏懒加载,当路由被匹配时才会加载对应的组件。

jsx 复制代码
import React, { lazy, Suspense } from 'react';
import { Route, Switch } from 'react-router-dom';
const Home = lazy(() => import('./components/Home'));
const About = lazy(() => import('./components/About'));
const Contact = lazy(() => import('./components/Contact'));
function App() {
	return (
	  <div>
	    <Suspense fallback={<div>Loading...</div>}>
	      <Switch>
	        <Route exact path="/" component={Home} />
	        <Route path="/about" component={About} />
	        <Route path="/contact" component={Contact} />
	      </Switch>
	    </Suspense>
	  </div>
	);
}
export default App;

路由懒加载的优点:

  • 懒加载减少初始加载时间和提⾼加载速度,通过拆分代码到更⼩的块并按需加载。
  • 它减少初始包⼤⼩,提⾼⽤户体验和减少资源加载。
相关推荐
NiceCloud喜云6 小时前
Opus 4.8 的 Effort Control 怎么选:Low 到 Max 五档策略
android·java·大数据·前端·c++·python·spring
wordbaby7 小时前
React Native + RNOH:跨页面数据回传的最佳实践与避坑指南
前端·react native
GISer_Jing7 小时前
Three.js着色器编译机制深度解析
javascript·webgl·着色器
丷丩7 小时前
MapLibre GL JS第22课:查看本地GeoJSON
前端·javascript·map·mapbox·maplibre gl js
油炸自行车7 小时前
Claude Code 错误:API Error: 400 Failed to deserialize the JSON body into the
开发语言·javascript·json·trae·claude code·api error 400
Front思8 小时前
AI前端工程师需要具备能力+
前端·人工智能·ai
ZC跨境爬虫10 小时前
跟着 MDN 学CSS day_29:(掌握文本与字体样式的核心艺术)
前端·css·ui·html·tensorflow
李子琪。11 小时前
网络空间安全深度实战:CSRF 漏洞原理剖析与基于 Token 的纵深防御体系构建(全栈实验报告)
前端·安全·csrf
冰暮流星11 小时前
javascript之history对象介绍
前端·笔记
IT_陈寒11 小时前
Vite热更新失灵?你可能漏了这个配置
前端·人工智能·后端