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>
);
}
此時可以去頁面查看切換路由的時候是否動態(tài)加載了 js 文件。若切換路由加載了 js 文件,說明懶加載路由成功!
加載速度對比
在沒有使用@loadable/component之前
服務器帶寬1M,gzip壓縮,文件大小2MB左右,服務器請求加載時間4.3s左右


使用路由懶加載
服務器帶寬1M,gzip壓縮,文件大小1MB左右,服務器請求加載時間1s左右

以上就是react如何利用懶加載減少首屏加載時間的詳細內容,更多關于react懶加載減少加載時間的資料請關注腳本之家其它相關文章!
相關文章
在?React?中使用?Context?API?實現(xiàn)跨組件通信的方法
在React中,ContextAPI是一個很有用的特性,可用于組件間的狀態(tài)共享,它允許跨組件傳遞數(shù)據(jù)而無需通過每個組件手動傳遞props,本文給大家介紹在?React?中如何使用?Context?API?來實現(xiàn)跨組件的通信,感興趣的朋友一起看看吧2024-09-09
D3.js(v3)+react 實現(xiàn)帶坐標與比例尺的散點圖 (V3版本)
散點圖(Scatter Chart),通常是一橫一豎兩個坐標軸,數(shù)據(jù)是一組二維坐標,分別對應兩個坐標軸,與坐標軸對應的地方打上點。由此可以猜到,需要的元素包括circle(圓)和axis(坐標軸),接下來通過本文大家分享D3.js(v3)+react 實現(xiàn)帶坐標與比例尺的散點圖 (V3版本) ,一起看看2019-05-05
解決React報錯Parameter 'props' implicitly&nb
這篇文章主要為大家介紹了React報錯Parameter 'props' implicitly has an 'any' type的解決處理方法,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-12-12
React Native 自定義下拉刷新上拉加載的列表的示例
本篇文章主要介紹了React Native 自定義下拉刷新上拉加載的列表的示例,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-03-03
在React中寫一個Animation組件為組件進入和離開加上動畫/過度效果
這篇文章主要介紹了在React中寫一個Animation組件為組件進入和離開加上動畫/過度效果,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-06-06

