【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;

路由懒加载的优点:

  • 懒加载减少初始加载时间和提⾼加载速度,通过拆分代码到更⼩的块并按需加载。
  • 它减少初始包⼤⼩,提⾼⽤户体验和减少资源加载。
相关推荐
醉方休几秒前
web前端 DSL转换技术
前端
sen_shan几秒前
Vue3+Vite+TypeScript+Element Plus开发-27.表格页码自定义
前端·javascript·typescript
刺客_Andy9 分钟前
React 第五十二节 Router中 useResolvedPath使用详解和注意事项示例
前端·react.js·架构
豆浆94517 分钟前
vue3+qiankun主应用和微应用的路由跳转返回
前端
王将近25 分钟前
Cesium 山洪流体模拟
前端·cesium
小时前端35 分钟前
当循环遇上异步:如何避免 JavaScript 中最常见的性能陷阱?
前端·javascript
Jonathan Star43 分钟前
在 JavaScript 中, `Map` 和 `Object` 都可用于存储键值对,但设计目标、特性和适用场景有显著差异。
开发语言·javascript·ecmascript
Bacon1 小时前
Electron 集成第三方项目
前端
自由日记1 小时前
css学习9
前端·css·学习