本篇內容主要講解“React18中的SuspenseList有什么作用”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強。下面就讓小編來帶大家學習“React18中的SuspenseList有什么作用”吧!
十載的龍井網(wǎng)站建設經驗,針對設計、前端、開發(fā)、售后、文案、推廣等六對一服務,響應快,48小時及時工作處理。全網(wǎng)整合營銷推廣的優(yōu)勢是能夠根據(jù)用戶設備顯示端的尺寸不同,自動調整龍井建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調整網(wǎng)站的寬度,無論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設計,從而大程度地提升瀏覽體驗。創(chuàng)新互聯(lián)從事“龍井網(wǎng)站設計”,“龍井網(wǎng)站推廣”以來,每個客戶項目都認真落實執(zhí)行。
這個特性在React歷史版本中的出現(xiàn),第一次是16.6版本,發(fā)布了支持代碼拆分的Suspense
組件。在16.9版本中繼而支持了數(shù)據(jù)提取。感興趣的同學可以移步React
的changelog
。
前文有介紹,我們僅用一個例子來溫顧下概念和使用
// 這個組件是動態(tài)加載的 const OtherComponent = React.lazy(() => import('./OtherComponent')); function MyComponent() { return (}> ); }
在OtherComponent
組件尚不具備渲染條件的時候,會用fallback
傳入的組件進行預制渲染。這邊不具備渲染條件的具體表現(xiàn)就是數(shù)據(jù)獲取時間較長,組件結構復雜等,但是不想因為這些影響應用的首屏渲染或者初始化,之前的Suspense
的文章有介紹,不再贅述。
從字面上的意思就能夠簡單的理解,就是如果我們的代碼中有多個Suspense
存在,我們應該怎么控制它們的展示順序和展示方式呢?由此React
官方給我們提供了SuspenseList
組件。
...
我們首先介紹下SuspenseList
僅有的兩個Props
revealOrder
表示的是子Suspense
的加載順序,可選值有forwards
,backwards
,together
forwards
表示同一層次,從前往后展示,無論請求速度都是前面的先展示
backwards
跟forwards相反
together
表示所有suspense都準備好后同時顯示,而不是一個個顯示
tail
指定如何顯示SuspenseList
中未加載項目的行為
默認情況下,SuspenseList
將顯示列表中的所有 fallback
collapsed
僅顯示列表中下一個 fallback
hidden
未加載的項目不顯示任何信息
ps:SuspenseList
只對直接子層級的Suspense
或者SuspenseList
起作用,不會對孫子節(jié)點起作用。
SuspenseList
讓我們可以對一組Suspense
的行為進行復合編排,雖然在演示中的demo相對比較簡單,但是如果在一個比較大型的項目中,我們經常會使用Layout
進行布局。就拿我們常見的中后端管理平臺來說和C端主體頁面來舉例。
中后端系統(tǒng)中,我們經常使用頂欄+側邊欄+主體頁面的方式來布局,在這一層面目前業(yè)界,踐行微前端的套路居多,比如qiankun.js
,包括筆者所在的團隊,也探索了一套自己的微前端實現(xiàn)體系。如果在C端頁面,采用微前端的方式可能未必合適,在頁面中存在多區(qū)塊渲染等需求上,利用SuspenseList
和Suspense
結合React后端渲染SSR的能力,就能夠較系統(tǒng)的實現(xiàn)獨立區(qū)塊的加載順序和行為的效果。
到此,相信大家對“React18中的SuspenseList有什么作用”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關內容可以進入相關頻道進行查詢,關注我們,繼續(xù)學習!