亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

React 代碼拆分 - 在初始頁面后加載其他組件

React 代碼拆分 - 在初始頁面后加載其他組件

翻翻過去那場雪 2023-08-18 17:11:31
我剛剛在我的應用程序中實現了基于路由器的代碼分割(延遲加載)。AFAIK,當實現延遲加載時,訪問頁面的用戶將僅加載整個包的某個塊,而不會加載其他內容。那么,有沒有一種方法可以讓React在初始頁面加載后開始加載其他組件,這樣用戶跳轉到另一個頁面時就不必等待呢?const App = React.lazy(() => import('./components/home/App'))const Game = React.lazy(() => import('./components/game/Game'))const Custom = React.lazy(() => import('./components/custom/Custom'))const Credits = React.lazy(() => import('./components/credits/Credits'))const Rules = React.lazy(() => import('./components/rules/Rules'))const NotFound = React.lazy(() => import('./components/404/404'))
查看完整描述

1 回答

?
侃侃無極

TA貢獻2051條經驗 獲得超10個贊

我現在意識到我正在嘗試做的事情叫做“預加載組件”。


// component/home/App.js

// Preloading Game.js from App.js

const lazyWithPreload = (factory) => {

? ? const Component = React.lazy(factory)

? ? Component.preload = factory

? ? return Component

}

?

const Game = lazyWithPreload(() => import('../game/Game'))

?

const App = () => {

? ? React.useEffect(() => {

? ? ? ? Game.preload()

? ? }, [])

? ? return (<div>Something cool</div>)

}

lazyWithPreload隨時隨地預加載組件,包括加載初始頁面時(這解決了我的問題)。

查看完整回答
反對 回復 2023-08-18
  • 1 回答
  • 0 關注
  • 177 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號