摘要:之前在中文官方文檔使用的是。實(shí)現(xiàn)按需加載,升級之后,這個(gè)方法就走不通了。之后看了的官網(wǎng),按需加載只需要神器。
之前在react-router中文官方文檔使用的是require。ensure實(shí)現(xiàn)按需加載,升級之后,這個(gè)方法就走不通了。
之后看了react-router的官網(wǎng),按需加載只需要神器 react-loadable 。
react-loadable的好處:
基于import()的自動代碼拆分
import()的厲害之處在于 Webpack 2 可以自動拆分代碼,不論你在何時(shí)加入新代碼,都不用做其他額外的工作,你可以通過切換 import() 位置來輕易試驗(yàn)代碼拆分點(diǎn),以便讓你的app達(dá)到最佳性能。
避免組件加載閃爍
Loading組件需要接收一個(gè)pastDelay prop(默認(rèn)200ms)
export default function Loading({ error, pastDelay }) {
if (error) { returnError!; } else if (pastDelay) { returnLoading...; } else { return null; }
}
預(yù)加載
Loadable 創(chuàng)建的組件向外暴露了一個(gè)用于預(yù)加載的靜態(tài)方法:組件.preload()
最后說到webpack搭配react-loadable實(shí)現(xiàn)懶加載:
使用到的庫有:react-loadable+plugin-syntax-dynamic-import
在 .babelrc進(jìn)行如下配置:
{ "presets": [ "react" ], "plugins": [ "syntax-dynamic-import" ]
}
完整使用如下:
import Loadable from "react-loadable";
import Loading from "./Loading";
const LoadableComponent = Loadable({ loader: () => import("./Dashboard"), loading: Loading, }) export default class LoadableDashboard extends React.Component { render() { return; } }
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://specialneedsforspecialkids.com/yun/94732.html
摘要:更多參考通過庫掌握函數(shù)組件有些時(shí)候,我們想要?jiǎng)討B(tài)的加載一些組件按需加載,比如在一個(gè)單頁面應(yīng)用中頁面的組件頁面的組件頁面的組件只有真正要實(shí)例化當(dāng)前頁面的時(shí)候,才會去加載相應(yīng)的組件。 react 前端項(xiàng)目技術(shù)選型、開發(fā)工具、周邊生態(tài) 聲明:這不是一篇介紹 React 基礎(chǔ)知識的文章,需要熟悉 React 相關(guān)知識 主架構(gòu):react, react-router, redux, redux...
摘要:更多參考通過庫掌握函數(shù)組件有些時(shí)候,我們想要?jiǎng)討B(tài)的加載一些組件按需加載,比如在一個(gè)單頁面應(yīng)用中頁面的組件頁面的組件頁面的組件只有真正要實(shí)例化當(dāng)前頁面的時(shí)候,才會去加載相應(yīng)的組件。 react 前端項(xiàng)目技術(shù)選型、開發(fā)工具、周邊生態(tài) 聲明:這不是一篇介紹 React 基礎(chǔ)知識的文章,需要熟悉 React 相關(guān)知識 主架構(gòu):react, react-router, redux, redux...
摘要:前言以前一直是用進(jìn)行的開發(fā)于是決定年后弄一弄所以年后這段時(shí)間也就一直瞎弄可算是看到成果了本來是想寫一個(gè)類似仿今日頭條那樣的項(xiàng)目來入手后來又尋思還不如寫個(gè)后臺管理呢。于是乎自己便著手簡單的搭建了一個(gè)集中設(shè)置的版本。 前言 以前一直是用vue進(jìn)行的開發(fā), 于是決定年后弄一弄react, 所以年后這段時(shí)間也就一直瞎弄react, 可算是看到成果了 本來是想寫一個(gè) 類似 Vue仿今日頭條 那樣...
摘要:例如允許我們在打包時(shí)將腳本分塊利用瀏覽器緩存我們能夠有的放矢的加載資源。文章的內(nèi)容大體分為兩個(gè)方面,一方面在思路制定模塊分離的策略,另一方面從技術(shù)上對方案進(jìn)行落地。我之前提到測試之下是什么樣具體的場景并不重要。前言 隨著前端代碼需要處理的業(yè)務(wù)越來越繁重,我們不得不面臨的一個(gè)問題是前端的代碼體積也變得越來越龐大。這造成無論是在調(diào)式還是在上線時(shí)都需要花長時(shí)間等待編譯完成,并且用戶也不得不花額外的...
閱讀 3258·2021-10-11 10:59
閱讀 2812·2021-10-11 10:58
閱讀 2244·2021-09-04 16:45
閱讀 2717·2019-08-30 15:44
閱讀 671·2019-08-30 15:44
閱讀 3199·2019-08-30 10:51
閱讀 1597·2019-08-29 18:46
閱讀 2749·2019-08-29 13:57