react如何用懒加载减少首屏加载时间

 更新时间:2021年04月16日 09:00:00   作者:阿政想暴富  
这篇文章主要介绍了react如何利用懒加载减少首屏加载时间,帮助大家更好的理解和学习使用react,感兴趣的朋友可以了解下

最近在写一个react-ant-admin的集成框架用于快速搭载中后台项目。其中遇到很多问题,最重要的应该是访问速度了。我就想 react 可不可以和 vue 一样用路由懒加载来减少首页渲染所花费的时间。

于是找到了一个很好用的轮子:@loadable/component

使用

安装

npm install @loadable/component -D
# or use yarn
yarn add @loadable/component -D

如何在路由中使用?

在src/router/index.js文件中按照如下举例来写:

import React from "react";
import { Route, Switch } from "react-router-dom";
import routerList from "./routes";

const router = () => {
  return (
    <Switch>
      {routerList.map((item) => {
        const { component: Component, key, path, ...itemProps } = item;
        return (
          <Route
            exact={true}
            key={key}
            path={path}
            render={(allProps) => <Component {...allProps} {...itemProps} />}
          />
        );
      })}
    </Switch>
  );
};

export default router;

src/router/routes.js文件按照如下举例来写:

import loadable from "@loadable/component";

const Error404 = loadable(() => import("@/pages/err/404")); // 对应文件 src/pages/err/404.js
const Home = loadable(() => import("@/pages/home"));
const Demo = loadable(() => import("@/pages/demo"));

const routerList = [
  {
    path: "/",
    key: "home",
    components: Home,
  },
  {
    path: "/demo",
    key: "demo",
    components: Demo,
  },
  {
    path: "*",
    key: "404",
    components: Error404,
  },
];

export default routerList;

src/App.js文件按照如下举例来写:

import React from "react";
import { BrowserRouter as Router } from "react-router-dom";
import Routes from "./router";
export default function App() {
  return (
    <Router>
      <Routes />
    </Router>
  );
}

此时可以去页面查看切换路由的时候是否动态加载了 js 文件。若切换路由加载了 js 文件,说明懒加载路由成功!

加载速度对比

在没有使用@loadable/component之前
服务器带宽1M,gzip压缩,文件大小2MB左右,服务器请求加载时间4.3s左右

使用路由懒加载
服务器带宽1M,gzip压缩,文件大小1MB左右,服务器请求加载时间1s左右

以上就是react如何利用懒加载减少首屏加载时间的详细内容,更多关于react懒加载减少加载时间的资料请关注脚本之家其它相关文章!

相关文章

  • react底层的四大核心内容架构详解

    react底层的四大核心内容架构详解

    这篇文章主要为大家详细介绍了react四大核心内容架构,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下,希望能够给你带来帮助
    2022-03-03
  • windows下create-react-app 升级至3.3.1版本踩坑记

    windows下create-react-app 升级至3.3.1版本踩坑记

    这篇文章主要介绍了windows下create-react-app 升级至3.3.1版本踩坑记,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-02-02
  • React动画实现方案Framer Motion让页面自己动起来

    React动画实现方案Framer Motion让页面自己动起来

    这篇文章主要为大家介绍了React动画实现方案Framer Motion让页面自己动起来,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-10-10
  • 解决React报错Expected `onClick` listener to be a function

    解决React报错Expected `onClick` listener to be a function

    这篇文章主要为大家介绍了React报错Expected `onClick` listener to be a function解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-12-12
  • 一文详解React中Hook的作用和用处

    一文详解React中Hook的作用和用处

    Hook是一种函数,它可以让你在函数组件中“挂钩”到React状态和生命周期等特性,这篇文章主要和大家介绍了React中Hook的作用和用处,希望对大家有所帮助
    2023-05-05
  • react学习笔记之state以及setState的使用

    react学习笔记之state以及setState的使用

    这篇文章主要介绍了react学习笔记之state以及setState的使用,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • React实现响应式布局的最佳实践

    React实现响应式布局的最佳实践

    在当今的前端开发中,响应式设计已经成为必不可少的部分,随着各种设备的出现,确保我们的网页在不同屏幕尺寸上展示良好,已经成为开发者的首要任务之一,本文将介绍如何在React中实现响应式布局,提供一些最佳实践和示例代码,帮助大家更好地理解这一概念
    2025-02-02
  • react.js框架Redux基础案例详解

    react.js框架Redux基础案例详解

    这篇文章主要介绍了react.js框架Redux基础案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-09-09
  • 深入理解react-router@4.0 使用和源码解析

    深入理解react-router@4.0 使用和源码解析

    这篇文章主要介绍了深入理解react-router@4.0 使用和源码解析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-05-05
  • React 中的重新渲染类组件及函数组件

    React 中的重新渲染类组件及函数组件

    这篇文章主要为大家介绍了React 中的重新渲染类组件及函数组件使用示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-11-11

最新评论