【reactjs性能优化】react-loadable 异步路由加载

详解react-router4 异步加载路由两种方法 本篇文章主要介绍了详解react-router4 异步加载路由两种方法 ,具有一定的参考价值,有兴趣的可以了解一下 立即下载

文章首发:https://shudong.wang/10373.html

优势

每个路由使用不同的chunk,没必要一次加载所以js

配置插件 react-loadable
yarn add react-loadable -S
封装高阶组件

// blog:shudong.wang
import React from 'react'
import Loadable from 'react-loadable'
import { isDevEnv } from '@/utils/env'

const Loading = (props) => {
  const { error } = props
  const isDev = isDevEnv
  if (error && isDev) {
    return (
      <div>
        <p>{error.stack ? error.stack : ''}</p>
      </div>
    )
  }
  return <div />
}

const loadableComponent = (loader, render) => {
  const config = {
    loader,
    loading: Loading,
    delay: 1000,
  }
  if (render) {
    config.render = render
  }
  return Loadable(config)
}

export default loadableComponent

使用方式

注意路由引入的方式使用 import的方式引入 const Stark = () => import(‘views/Stark’)
使用 la高阶组件包含 路由组件 component={la(Stark)}

import la from './loadableComponent'

const Stark = () => import('views/Stark')

<Switch>
    <Route path="/home" component={la(Stark)} key="home" exact />
</Switch>
打包后会产生很多 chunk

2019-07-08-15-32-59

每个路由使用不同的chunk,没必要一次加载所以js

2019-07-08-15-38-45

2019-07-08-15-39-02

2019-07-08-15-39-23

OI 生涯回忆录 《Pilgrimage》 前言 于 NOI2020 后写下本文。 本文简单提及了在写作时尚能回忆起来的,在我的 OI 生涯中对我的影响重大的人、事、比赛等。 写作本文,旨在在回忆允许的范围内,对 OI 生涯进行一定程度上的梳理,总结。 开端 入门 我最早接触计算机程序设计,是在小学。 那时候,我的数学成绩不错,就被老师推荐去学习编程。 就这样,我在局前街小学的何静老师的指导下,走上了编程的道路。 小学时的编程,与其说是 “竞赛” ,不如说是 “兴趣班” 。 当时,包括我在内,很多小孩子天性是浮躁的。支撑我对着无聊的代码学下去的,并不 阅读详情

相关推荐

第二章 HART硬件设计实战 — 基于SD2057的低功耗调制解调器电路详解与选型指南

本文详细解析了基于SD2057芯片的HART协议低功耗调制解调器硬件设计。通过对比分析,阐述了SD2057在成本与性能上的优势,并重点拆解了其核心电路、外围元件选型、原理图绘制要点及PCB布局的实战技巧,为工业现场仪表的智能通信模块开发提供了完整的低功耗解决方案。

gan8painter的博客 423

aspx ttf文件加载不出来_Web自动化测试实战:加载页面信息,刷不出来心态都崩了...

只要访问过网页的地球人都知道,很多时候页面内容的加载并非与你的访问操作实时同步显现。是什么原因导致的呢?这是由于大多数Web应用程序都结合Ajax/Javascript技术开发,当浏览器进行页面信息加载时,页面中的元素会在不同的时间间隙内陆续完成加载,比较常见的场景诸如:跟随你的滚动条下滑,逐步呈现当前图文信息;鼠标悬停某文本框,自动出现提示文本等。  对于Web自动化测试而言,页面元素呈现的时...

weixin_39849894的博客 289

行为验证码 AJ-Captcha 使用文档

AJ-Captcha验证码系统集成指南:需添加captcha-spring-boot-starter和Redis依赖,配置Redis连接。核心实现包括Redis缓存服务类CaptchaCacheRedisImpl(含设置、查询、删除验证码等方法)、SPI配置文件及Spring Boot配置类(配置验证码属性和Redis模板)。系统支持验证码生成、校验、防刷等安全功能,适用于Web应用安全验证场景。

千层冷面的博客 2115

如何实现 React 组件的懒加载

懒加载是一种设计模式,用于延迟加载对象或组件,直到它们真正需要时再加载。这种方法可以显著减少初始加载时间,从而提高用户体验。在 React 中,懒加载通常用于动态加载组件、路由、图像等,只有在用户需要的时候才渲染。懒加载是提升 React 应用性能的重要技术,通过合理地使用React.lazy和Suspense,以及结合第三方库,可以有效地减少初始加载时间,提升用户体验。在本文中,我们讨论了懒加载的基本概念、实现方法及最佳实践,希望这些内容能够帮助你更好地理解和应用懒加载,提高应用的性能。

My_wife_QBL的博客 3350

谷歌(Google) Pixel 8/9 Pro(xl)如何获取 root 权限

谷歌(Google)Pixel8/9Pro(xl)等系列手机破解后,会在你的init_boot.img同路径生成一个magisk_patched.img,把这个文件拷贝到adb目录下,稍后还得把它刷回手机,这样手机才能获得Root权限,因为安卓14、15以后的内核结构调整,和Pixel7及以下的6、5、4、3、2等系列手机破解稍微不一致。因为ROOT权限的获取,需要使用ROM中的内核文件,个人强烈建议在官网下载ROM,直接刷最新版,其他地方的ROM如果没有校验码,请自行斟酌是否使用。

bugsycrack的博客 3486

Python表白代码:“ 星光月夜烟花皆归你,我也归你”(满天烟花盛开、附番外玫瑰)

导语 "慢品人间烟火色 闲观人间岁月长" ———致自己​​​ ​ ???? 遇见我以后,我们的故事就开始了,愿你历经山河,仍觉得人间值得????。 ​ 星光月夜烟花皆归你,我也归你。关于烟花????大家都​知道多少?有多少表白故事情节都发生在烟 花下,想必木木子????不用说大家也知道叭~​​ 今天这则小短文就是关于烟花的故事!你准备好跟我一起进入烟花的世界了嘛? ​正文 “每一句文案,都有一个故事,你仔细听” ​ 1)环境安装???? 准备好:.

顾木子吖的博客 5万+

react实现路由懒加载(异步组件)

正如标题,我最近在做一个项目在打包完成后发现chunk.js问价比较大,导致打开首页需要时间比较久,因此,需要进行优化。 其实仔细考虑一下不难发现,由于打包后将所有资源都打包到了一个chunk.js下,导致所有资源都一起加载了,所以,进入页面会很慢。咱们的预期目标是进入首页只加载首页的资源,进入详情页至加载详情页的资源。那么,react-loadeable是你不错的选择。 1、首先,要想使用它需要先安装它。 yarn add react-loadable 根据npm官网找到react-loadeable完

zhangqling的博客 4257

在 ABAP 中把变量一次写对:深入理解 FINAL 内联声明与不可变变量

摘要:ABAP中的FINAL声明操作符用于定义不可变变量,强调"当前上下文中的唯一写位置",能有效防止变量被意外修改,提升代码健壮性和可读性。官方建议优先在单次赋值的场景使用FINAL替代DATA。其核心规则包括:1)写位置唯一但可多次执行(如循环内);2)不创建块级作用域;3)对引用变量仅约束引用本身而非对象内容。典型适用场景包括:结果值只读、输入快照保存和中间结果保护。例外情况如游标变量不适用,因需多次写操作。正确使用FINAL可显著降低代码维护风险。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1046

react.lazy 路由懒加载_react-loadable懒加载

欢迎关注公众号:n平方如有问题或建议,请后台留言,我会尽力解决你的问题。简介react-loadable官网最精简的描述:A higher order component for loading components with dynamic imports.用于加载带有动态导入的组件的高阶组件。React Loadable是一个小型库,它使以组件为中心的代码分割变得非常容易。背景当你的React...

weixin_39987313的博客 617

SAP成本核算的核心逻辑

SAP成本核算采用"计划-归集-分析"闭环管理,以CO模块为核心,集成PP、MM等模块。核算前需配置标准成本控制范围、成本中心等主数据。标准成本通过BOM和工艺路线计算(CK11N),采购和生产过程记录实际成本差异。制造费用通过成本中心归集,作业成本按实际耗用量分配。完工产品按标准成本入库,月末通过KO88结算工单差异,物料分类账(CKMLCP)还原实际成本。整个流程实现FI与CO数据同步,确保账务一致。关键事务码包括CK11N(成本估算)、MIGO(物料移动)、CO11N(报工)等。

金牌架构师 537

【HAL库】STM32CubeMX开发----STM32F407----SPI实验

【HAL库】STM32CubeMX开发----STM32F407----SPI实验

MQ0522的博客 3019

React路由示例

react路由示例

weixin_43138550的博客 241

迈瑞BS系列全自动生化分析仪LIS协议接口手册(内含HL7和ASTM)

迈瑞BS系列全自动生化分析仪LIS协议接口手册,内含HL7和ASTM)

react技术栈实践(2)

本文来自网易云社区作者:汪洋这时候还没完,又有两个问题引出来了。 按照上面的配置,第三方库 antd 竟然也被编译了,导致样式失败。react中,一旦包裹了子组件,子组件没办法直接使用 styleName。第2个问题,还好解决,查了下 react-css-modules 资料,子组件中通过props获取      const template = (        &lt;div classNam...

网易数帆社区博客 469

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

react实现异步插件_React 性能优化之组件动态加载(react-loadable)

React 项目打包时,如果不进行异步组件的处理,那么所有页面所需要的 js 都在同一文件中(bundle.js),整个js文件很大,从而导致首屏加载时间过长。所有,可以对组件进行异步加载处理,通常可以使用 React-loadable。React-loadable 使用例如,对于项目中的detail组件(/src/pages/detail/),在 detail 目录下新建 loadable.js...

weixin_39580749的博客 390

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

探秘React Loadable:优化你的React应用加载速度

探秘React Loadable:优化你的React应用加载速度 【免费下载链接】react-loadable 项目地址: https://gitcode.com/gh_mirrors/rea/react-loadable ...

gitblog_00017的博客 717

React Loadable高级功能:Map模式与服务器端渲染

React Loadable高级功能:Map模式与服务器端渲染 【免费下载链接】react-loadable jamiebuilds/react-loadable: 是一个用于代码分割和惰性加载 React 组件的库,可以提高应用程序的加载速度,适合用于 React 应用开发。 ...

gitblog_01026的博客 737

探索React懒加载的无限可能 —— react-lazy深入解析

???? 探索React懒加载的无限可能 —— react-lazy深入解析 项目介绍 在前端开发领域中,React作为一款强大的JavaScript库,已经深刻地影响了Web应用的设计与构建方式。今天,我们要向大家隆重介绍的是一个名为react-lazy的开源项目——它致力于解决React应用程序中的性能瓶颈问题,通过实现组件的懒加载和预加载,显著提升了大型应用的首屏渲染速度和用户体验。 技术分析 ...

gitblog_00067的博客 1260

React 异步组件

React 通过react-loadable实现异步组件 在一般的react项目中在性能优化方面除了减少各种静态资源的体积外,还有一个效果显著的方式,异步加载组件,包括页面级组件(在路由中配置的),以及其他的体积较大的第三方组件(bizcharts,bScroll,...),本文会详细说明使用react-loaable来实现三种异步组件: 页面级组件(router.js引用的组件),普通的rea...

weixin_34409822的博客 348

react-loadable懒加载使用

每次在加载页面前都会进行懒加载。

sunzhen15896的博客 255

【react项目】jianshu介绍

这里写目录标题一级目录 一级目录 npm install --save styled-components

daddykei的博客 754

react中异步组件以及withRouter的使用

什么是异步组件?简单来说就是异步加载一个组件,正常情况浏览器加载的是我们打包好的bundle.js文件,那么这个文件是集合了所有js是代码,然而我们首屏加载并不需要一次性加载所有的组件,这会造成性能的损耗,所以我们可以使用异步组件,推荐使用(react-loadable)https://github.com/jamiebuilds/react-loadable,那么使用react-loadable...

weixin_34378045的博客 149

Loadable Components 使用指南

--- ## 项目目录结构及介绍 Loadable Components 是一个专注于 React 应用程序代码分割的库,其目录结构旨在提供清晰的分离关注点和易于维护的代码组织。尽管具体仓库的直接目录列表未在问题中详细展示,但典型的开源项目结构通常包括以下组件: - **src**: 主要源代码存放地,包含了所有的组件、入口文件等。 - `components`: 用户自定义组件的存...

gitblog_01164的博客 528

【Web前端Talk】React-loadable 进行代码分割的基本使用

随着项目功能的扩充、版本迭代,我们与Webpack捆绑起来的的项目越来越大,大到开始影响加载速度了。这时我们就该考虑如何对代码进行拆分了。 这次我们一起学习一下如何对React项目中的代码进行Code-Splitting(代码分割、代码拆分等各种叫法.....)。 Code-Splitting的思路有很多,很多人选择的拆分方案是根据不同的路由进行拆分开来实现组件按需加载。存在的弊端就...

weixin_30237281的博客 121

React-Redux-Boilerplate核心功能解析:为什么它是React初学者的理想选择

如果你正在寻找一个**简单易用**的React-Redux脚手架项目来快速启动你的前端开发之旅,那么react-redux-boilerplate绝对值得你关注。这个**最小化、初学者友好**的React-Redux脚手架集成了所有行业最佳实践,为React新手提供了完美的学习起点和开发基础。 ## 🚀 项目概述与核心优势 react-redux-boilerplate是一个专为React初

gitblog_00569的博客 801

React-Redux-Boilerplate完全指南:初学者友好的React应用开发模板终极教程

React-Redux-Boilerplate是一个专为初学者设计的React应用开发模板,它集成了所有行业最佳实践,让您能够快速启动React-Redux项目。这个简化版的样板文件去除了复杂的功能,专注于提供最核心、最实用的开发体验,是学习现代React开发的完美起点。 ## 为什么选择React-Redux-Boilerplate?🚀 对于React初学者来说,市面上很多样板文件都过于复

gitblog_00051的博客 646

loadable-components高级特性详解:代码分割、懒加载与预加载

在现代前端开发中,随着应用规模不断扩大,优化加载性能成为提升用户体验的关键。loadable-components作为一款强大的代码分割工具,通过精细化的代码拆分、智能懒加载与高效预加载策略,帮助开发者构建更轻量、响应更快的应用。本文将深入解析其核心高级特性,带你掌握从基础实现到性能优化的完整方案。 ## 代码分割:突破传统打包限制 代码分割(Code Splitting)是解决应用体积膨胀的...

gitblog_00844的博客 996
上一篇: 【vuex源码实现】01.在vuejs 中实现一个类似vuex $store 的唯一全局变量,父组件和子组件都可以随时调用。
下一篇: 在html5网页中录音解决方案
西树与前端
博客等级 码龄12年 2粉丝 14原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值