React.lazy 動態(tài)加載的組件

React.lazy() 允許你定義一個動態(tài)加載的組件。這有助于縮減 bundle 的體積,并延遲加載在初次渲染時未用到的組件。

1、 異步加載組件

const Foo = React.lazy(() => import('../componets/Foo));

2、React.lazy不能單獨(dú)使用,需要配合React.suspense,suspence是用來包裹異步組件,添加loading效果等。

<React.Suspense fallback={<div>loading...</div>}>
  <Foo/>
</React.Suspense>

3、React.lazy原理
React.lazy使用import來懶加載組件,import在webpack中最終會調(diào)用requireEnsure方法,動態(tài)插入script來請求js文件,類似jsonp的形式。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容