【懒加载】Suspense和lazy实现react组件的懒加载

js 复制代码
import React, { lazy, Suspense } from 'react';

const LazyComponent = lazy(() => import('./LazyComponent'));

function App() {
  return (
    <div>
      <h1>My App</h1>
      <Suspense fallback={<div>Loading...</div>}>
        <LazyComponent />
      </Suspense>
    </div>
  );
}

export default App;

在上面的示例中,当 LazyComponent 组件被懒加载时,如果加载过程比较耗时,<div>Loading...</div> 就会作为备用UI显示在界面上。一旦 LazyComponent 加载完成,它将替换备用UI并正常渲染。

你可以根据需要自定义备用UI的内容。它可以是一个加载动画、一段文字或任何你认为合适的元素。在加载完成之前,备用UI将在懒加载组件的位置显示给用户以提示。 如果没有明确指定fallback属性,界面将保持空白,没有显示任何备用UI。一旦 LazyComponent 加载完成,它将替换空白并正常渲染。

  • import() 函数用于动态导入模块。在这种情况下,它正在导入位于 '@/home' 的模块。
  • lazy() 函数是由React或React Router等库提供的帮助函数,用于实现组件的懒加载。它接受一个返回动态导入语句的函数作为参数。

懒加载的目的是在需要时(通常是满足某个条件时)动态加载组件或模块。通过延迟加载不太关键或很少使用的组件,可以提高应用程序的初始加载时间。

相关推荐
奔跑的卡卡18 分钟前
线上Web异常发现为什么总是滞后?一套自研Web实时异常分析监控系统整体架构拆解
前端·web安全·架构
梦曦i39 分钟前
create-uni-app v1.1.0:结构化生成,工程骨架更规范
前端·uni-app
流光D42 分钟前
AI时代,搭建 web 站点并配置 nginx 反向代理流程
运维·服务器·前端·人工智能·nginx·ai·ai编程
PBitW1 小时前
Travel Planner — 智能旅行行程规划助手
前端·后端
梨想橙汁1 小时前
CSS Grid 网格布局:二维布局神器,轻松实现复杂网页排版
前端·css
lhldsg1 小时前
酒吧点餐小程序开发:从需求分析到技术落地实战
java·前端·小程序·架构·交友
Csvn1 小时前
微前端样式隔离:为什么你的 CSS 串到别人家了?Shadow DOM、CSS Variables 与 @layer 实战
前端
金花顺1 小时前
android_media_AudioTrack
前端·面试
木公子1 小时前
Vue3源码精读04:Scheduler 调度器深度解析|异步批量更新与任务队列源码全解
前端·vue.js
YHL1 小时前
🧠 React useContext 深度解析:告别 Props 层层传递的噩梦
前端·react.js