React - 路由 lazyLoad 的使用(路由懒加载)

2023-11-11

React - 路由 lazyLoad(路由懒加载)

  • lazyReact提供的懒(动态)加载组件的方法,React.lazy()
  • 路由组件代码会被分开打包,能减少打包体积、延迟加载首屏不需要渲染的组件
  • 依赖内置组件Suspense标签的fallback属性,给lazy加上loading指示器组件
  • Suspense目前只和lazy配合实现组件等待加载指示器的功能
  1. 引入所需依赖
    import { lazy, Suspense } from "react";
    import { NavLink, Route, Routes } from "react-router-dom";
    
  2. 通过 Reactlazy函数配合import()函数动态加载路由组件,路由组件代码会被分开打包
    const Home = lazy(() => import("./Home"));
    const About = lazy(() => import("./About"));
    
  3. 依赖内置组件Suspense标签的fallback属性,给lazy加上loading指示器
    {/* 路由链接 */}
    <NavLink className="list-group-item active" to="/about">
      About
    </NavLink>
    <NavLink className="list-group-item active" to="/home">
      Home
    </NavLink>
    
    {/* 注册路由 */}
    <Suspense fallback={<h1>loading.....</h1>}>
      <Routes>
        <Route path="/about" element={<About />} />
        <Route path="/home" element={<Home />} />
      </Routes>
    </Suspense>
    
    Suspensefallback属性可以是一个组件,该组件的引入不需要使用lazy(),直接引入即可
    import Loading from "./Loading";
    
    <Suspense fallback={<Loading />}>
     <Routes>
       <Route path="/about" element={<About />} />
       <Route path="/home" element={<Home />} />
     </Routes>
    </Suspense>
    
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

React - 路由 lazyLoad 的使用(路由懒加载) 的相关文章

  • Nextjs 无法在生产环境中的“.next”目录中找到有效的构建

    我正在 docker 中运行我的应用程序 但我的生产构建和启动脚本仅在 docker 环境中失败 虽然node env开发在docker环境下运行良好 这是我的脚本 无法进行生产构建并启动服务器 我正在使用nodemon和babel bui
  • Material UI - 更改主题中的按钮文本颜色

    我在直接在 Material UI 主题中更改按钮文本颜色时遇到问题 更改主色 按钮字体大小效果很好 因此问题不在于传递主题 这是我的代码 import React from react import MuiThemeProvider cr
  • ReactTransitionGroup 不适用于 React-redux 连接组件

    我正在开发一个更大的项目 但我创建了这个简短的示例来说明问题 如果我使用Box组件 它的工作原理 它在控制台中输出componentWillEnter and componentWillLeave当我们点击按钮时 如果我使用BoxConta
  • 在react中使用map方法渲染JSON API

    我对 JSON 对象 数组和映射方法的语法和结构有困难 我是 React 新手 正处于学习的初始阶段 这是我粘贴在下面的 JSON 文件代码 cloud Asia availability last15Min 100 last24Hour
  • 如何正确使用react-router-dom中的useHistory()?

    如何使用useHistory 正确吗 我无法从一个反应组件过渡到另一个反应组件 根据 React 文档以及 Stack Overflow 上的说明 我无法从 App js 转换到 MyComponent js 例如 我正在尝试 App js
  • Jest 和 React 以及导入 CSS 文件时出现语法错误

    我正在尝试让我的第一个 Jest 测试通过 React 和 Babel 我收到以下错误 SyntaxError Users manueldupont test avid sibelius publishing viewer src comp
  • 如何在故事书中注入窗口变量?

    我想添加一个 React 组件 称为ApplicationForm to a 故事书 https github com storybooks storybook 故事书是这样写的 import configureStore from sto
  • 如何渲染变量(或 prop)内部的 jsx/html?

    const Footer gt let a b Hey b return div Some bold text a div 这只会呈现为Some bold text b Hey b 如何将粗体文本渲染为粗体 变量内容是我自己的 所以我不必担
  • 使用 ApolloClient 从 useContext 挂钩导入一个简单变量

    我的反应相对较新 似乎无法导入client来自上下文的变量 我有一个名为 federation tsx 的文件 其中包含一些代码 我相信这应该是相关部分 const link createHttpLink uri process env U
  • Cypress 在 Create React App 中返回 .scss 文件的 webpack 编译错误

    我正在尝试将 Cypress 添加到非常基本的 CRA 但遇到了 Cypress 无法理解 scss 文件的问题 当我跑步时npm run cypress运行测试 我收到以下错误 Error Webpack Compilation Erro
  • 如何将 SPA 嵌入 ASP.NET Core 库并从路径提供服务

    Szenario 我想构建一个 aspnetcore 库 模块includes一个小的SPA前端 IE html js css 文件应与 dll 一起提供 SPA 应从特定路径提供服务 即 some module does not需要可配置
  • 无法将 Material UI 安装到新的 React 应用程序

    我是开发世界的新手 我正在尝试使用材质 UI 作为组件库启动一个新的 React 应用程序 但我不断收到以下错误 我的文件如下所示 任何人都可以用通俗的语言提供帮助吗 TIA npm install save legacy peer dep
  • 陷入了 React useEffect 的一系列变化

    我正在反应中创建一个表单生成器 在一个简单的文本字段上 我需要 Change currentValue When currentValue已更改 验证它 验证完成后 发出一个事件 有效或无效 这是我的代码 const TextInput p
  • 如何在appendchild方法javascript或reactjs中使用文件夹路径中的svg?

    我是 ReactJS 的新手 我坚持将 svg 元素附加到 div 元素 我想实现什么 我有一个动态创建的 div 元素 如下所示 constructor props super props this element document cr
  • 如何在 React 组件中使用 CDN

    我正在尝试使用基于 D3 构建的库 称为 Greuler 来动态渲染图形 它的 npm 包似乎已损坏 当我改用 Greuler CDN 时 index html 中的测试图终于起作用了 但是 我正在开发一个 React 应用程序 并且我希望
  • React:在哪里扩展对象原型

    我使用创建了一个纯 React 应用程序创建反应应用程序 https github com facebookincubator create react app 我想延长String类并在一个或多个组件中使用它 例如 String prot
  • useState 以 `new` 关键字作为参数

    我正在构建一个单独的服务来处理复杂的事情 该服务是一个类 只是为了测试建议 我在一个内部模拟useState 重点是我忘记了一个console log在构造函数内部 并意识到类构造函数在组件重新渲染时被调用多次 这种行为不会导致意外的行为或
  • 通过 Javascript 填充 ReactJS HTML 表单

    我正在开发一个应用程序 在打开第 3 方网站后 我可以在浏览器上下文中运行我自己的 Javascript 作为一个基于reactjs构建并具有登录表单的示例网站 您可以参考此链接 我正在尝试在reactjs生成的表单中填写用户名和密码 但是
  • 在 React 应用程序中简单连接到 mongodb

    我使用 create react app 创建了简单的反应应用程序 这个应用程序包含表单 验证和引导程序 没有什么花哨的东西能像魅力一样发挥作用 我还注册了 mongo 以获得免费集群 以便我可以发送一些数据 所以我有这个网址 mongod
  • React/Redux bundle.js 太大

    我有一个小型的 React 项目 Webpack生成的bundle js大小为6 3Mb 如何将大小减小到 github webpack config js module exports devtool inline source map

随机推荐

  • STM32—ADC多通道采集电压

    文章目录 ADC详解 程序说明 函数主体 引脚配置 ADC和DMA配置 主函数 ADC详解 前面的博客中详细介绍了STM32中ADC的相关信息 这篇博客是对ADC内容的一个总结提升 ADC的详细介绍 ADC详解 程序说明 为了使这次代码阅读
  • React 中的组件实例和类实例

    import React from react import ReactDOM from react dom 函数组件 function Hello1 return h1 Hello Word h1 const Hello2 gt h2 H
  • 【业务功能110】微服务-springcloud-springboot-Kubernetes集群部署-kubeadm极速部署-Docker安装

    kubeadm极速部署Kubernetes 1 24版本集群 一 Kubernetes 1 24版本集群部署 1 1 Kubernetes 1 24版本集群部署环境准备 1 1 1 主机操作系统说明 序号 操作系统及版本 备注 1 Cent
  • [Go 夜读 第 139 期] Go 语言 Excelize 开源基础库介绍

    Excelize 是 Go 语言编写的用于操作电子表格文档的基础库 支持 XLAM XLSM XLSX XLTM XLTX 等多种文档格式 高度兼容带有样式 图片 表 透视表 切片器等复杂组件的文档 并提供流式读写支持 用于处理包含大规模数
  • ERROR/WindowManager(***): Activity *** has leaked window com.android.internal.policy.impl.PhoneWind

    在做项目是遇到这个错误 google WindowManager Activity has leaked window 在stackoverflow com 链接http stackoverflow com questions 285057
  • Revit二次开发之“取得元素相交点IntersectionResultArray通过LocationCurve.Intersect()”...

    1 取得元素的曲线 比如风管 LocationCurve元素曲线 LocationCurve curve duct Location as LocationCurve 取得可以根据曲线确定位置的元素的曲线 2 根据曲线取得交点 Inters
  • 百度离线地图开发

    2D离线地图介绍 局域网环境下部署 完全脱离互联网 通过下载瓦片图 离线地图API js库 方式实现 一 2D离线瓦片下载 通过瓦片下载软件实现离线瓦片的下载 1 普通街道图瓦片 如下图 2 个性化瓦片 如下图 3 卫星图影像瓦片 如下图
  • Python学习:Selenuim+Python元素定位总结

    对象的定位应该是自动化测试的核心 要想操作一个对象 首先应该识别这个对象 一个对象就是一个人一样 他会有各种的特征 属性 如比我们可以通过一个人的身份证号 姓名 或者他住在哪个街道 楼层 门牌找到这 个人 那么一个对象也有类似的属性 我们可
  • Go语言学习-基本

    命名 如果是在函数外部定义 那么将在当前包的所有文件中都可以访问 名字的开头字母的大小写决定了名字在包外的可见性 如果一个名字是大写字母开头的 译注 必须是在函数外部定义的包级名字 包级函数名本身也是包级名字 那么它将是导出的 也就是说可以
  • 快速排序的递归实现和非递归实现

    一 快速排序的递归实现 快速排序的思想是每次找到一个元素的位置 再在以这个元素分隔的两个子范围中分别再各自确定一个元素的位置 子子范围也是如此操作 当某个子范围只有一个元素或者没有元素时 便不再做任何操作 这是一个递归过程 递归退出的边界就
  • 怎么判断map不为空

    示例代码 public static void main String args Map
  • (Oracle 基础篇) SQL 基础

    什么是SQL SQL 结构化查询语言 的主要功能就是在各种数据库建立联系 进行沟通 SQL语言分类 1 定义要在数据库存储那些信息的数据定义语言 DDL 主要针对对象 数据表 视图和索引 2 对数据库中的表进行操作的数据操作语言 DML 主
  • 视觉里程计2

    1 前言 为了克服特征点法的缺点 提出了以下几种思路 1 光流法 2 直接法 2 光流 2 1直接法 优化 最小化光度误差 实际上就是寻找全局像素误差总和最小的的情况 这种优化的理由仍然是灰度不变假设
  • Python函数练习题

    函数部分 1 编写一个名为collatz 的函数 它有一个名为number的参数 如果参数是偶数 那么collatz 就打印出number 2 如果number是奇数 collatz 就打印3 number 1 def collatz nu
  • javaee用户注册和登录界面源码

    JavaEE是一个企业级的 Java 应用程序开发平台 它提供了一组标准的技术和工具来帮助开发人员快速构建和部署企业级的 Java 应用程序 在 JavaEE 中 用户注册和登录界面可以使用 JSP Java Server Pages 技术
  • html文件存储服务,HTML5中五种存储方式的介绍

    本篇文章给大家带来的内容是关于HTML5中五种存储方式的介绍 有一定的参考价值 有需要的朋友可以参考一下 希望对你有所帮助 h5之前 存储主要是用cookies cookies缺点有在请求头上带着数据 大小是4k之内 主Domain污染 主
  • pandas.DataFrame.groupby 按某列类型值将文件分为多个文件

    1 groupby pandas DataFrame groupby groupby函数使用映射器或一系列列对数据帧进行分组 groupby操作涉及拆分对象 应用函数和组合结果的某种组合 这可以用于对大量数据进行分组 并对这些分组进行计算操
  • 若依开发时指定el-dialog局部显示的方法

    第一步 实例化一个 el dialog 最外面的div就是ei dialog要显示的位置 div div
  • ajax、axios、fetch之间的区别与联系

    整理ajax axios fetch优缺点 简单总结 JavaScript是一门前端语言 AJAX是一门技术 它提供了异步更新的机制 使客户端与服务器间交换数据而非整个页面文档 实现页面的局部更新 jQuery是一个框架 它对JavaScr
  • React - 路由 lazyLoad 的使用(路由懒加载)

    React 路由 lazyLoad 路由懒加载 lazy是React提供的懒 动态 加载组件的方法 React lazy 路由组件代码会被分开打包 能减少打包体积 延迟加载首屏不需要渲染的组件 依赖内置组件Suspense标签的fallba