⚡ 编程实验室🏗️ HTML🎨 CSS⚡ JavaScript🐍 Python🗄️ SQL☕ Java⚛️ React💚 Vue🟢 Node.js⚙️ C语言🐘 PHP🐹 Go🔷 TypeScript🐬 MySQL🔧 C++🎯 C#🦀 Rust🅱️ Bootstrap💡 jQuery🎸 Django🍃 MongoDB👗 Sass🎪 Kotlin📊 R语言📋 XML📊 Excel🐘 PostgreSQL🐳 Docker🅰️ Angular🎮 游戏🏠 网站首页

React lazy 与代码分割

掌握 React.lazy 和动态 import() 实现按需加载,减少应用初始包体积。 · 难度:入门 · +15XP

为什么需要代码分割?

随着应用增长,打包文件会变得非常大,影响首次加载速度。代码分割允许你将代码拆分成小的块,然后按需加载。React.lazy 使得动态导入组件变得非常简单。

1. React.lazy 基本用法

React.lazy 接受一个函数,该函数返回一个 Promise,Promise 解析为一个默认导出的 React 组件。

const OtherComponent = React.lazy(() => import('./OtherComponent'));

function MyComponent() { return ( <Suspense fallback={<div>Loading...</div>}> <OtherComponent /> </Suspense> ); }

2. 基于路由的代码分割

最常见的实践是结合 React Router 进行路由级别的代码分割,这样每个页面只加载其所需的代码。

方案优点
组件级别 lazy细粒度控制
路由级别 lazy简单、高效

3. 命名导出与 React.lazy

React.lazy 只支持默认导出。如果你需要对命名导出的组件使用懒加载,可以创建一个中间模块重新导出。

练习提示

在下方代码中,点击按钮会动态加载并显示一个延迟组件。尝试将 import 路径改为本地其他组件,观察加载行为。

Ctrl+Enter
🚀 升级VIP
解锁全部课程+AI助手

🏆 学习排行

加载中...

📊 统计

📖 85 篇
0 完成
🔥 0