<tbody id="5vw1z"></tbody>
<rp id="5vw1z"></rp>
  •  

    React18正式版發布,看看它帶給我們哪些驚喜

    2022年3月29號,React18正式版發布。

    v16開始,React團隊就在普及并發的概念。在v18的迭代過程中(alpha、Beta、RC),也一直在科普并發特性,所以正式版發布時,已經沒有什么新鮮特性。

    本文主要講解v18發布日志中透露的一些未來發展趨勢。

    開發者可能并不會接觸到并發特性

    React對增加API是很慎重的。從13年誕生至今,觸發更新的方式都是this.setState。

    而引入并發概念后,光是與并發相關的API就有好幾個,比如:

    • useTransition
    • useDeferredValue

    甚至出現了為并發兜底的API(即并發情況下,不使用這些API可能會出bug),比如:

    • useSyncExternalStore
    • useInsertionEffect

    一下多出這么多API,還不是像useState這種不使用不行的API,況且,并發這一特性對于多數前端開發者都有些陌生。

    你可以代入自己的業務想想,讓開發者上手使用并發特性有多難。

    所以,在未來用v18開發的應用,「開發者可能并不會接觸到并發特性」。這些特性更可能是由各種庫封裝好的。

    比如:startTransition可以讓用戶在不同視圖間切換的同時,不阻塞用戶輸入。

    這一API很可能會由各種Router實現,再作為一個配置項開放給開發者。

    萬物皆可Suspense

    對于React來說,有兩類瓶頸需要解決:

    • CPU的瓶頸,如大計算量的操作導致頁面卡頓
    • IO的瓶頸,如請求服務端數據時的等待時間

    其中CPU的瓶頸通過并發特性的優先級中斷機制解決。

    IO的瓶頸則交給Suspense解決。

    所以,未來一切與IO相關的操作,都會收斂到Suspense這一解決方案內。

    從最初的React.lazy到如今仍在開發中的Server Components,最終萬物皆可Suspense。

    這其中有些邏輯是很復雜的,比如:

    • Server Components
    • 新的服務端渲染方案

    所以,這些操作不大可能是直接面向開發者的。

    這又回到了上一條,這些操作會交由各種庫實現。如果復雜度更高,則會交由基于React封裝的框架實現,比如Next.js、Remix。

    這也是為什么React團隊核心人物Sebastian會加入Next.js。

    可以說,React未來的定位是:一個前端底層操作系統,足夠復雜,一般開發者慎用。

    而開發者使用的是「基于該操作系統實現的各種上層應用」。

    總結

    如果說v16之前各種React Like庫還能靠體積、性能優勢分走React部分蛋糕,那未來兩者走的完全是兩條賽道,因為兩者的生態不再兼容。

    未來不再會有React全家桶的概念,桶里的各個部件最終會淪為更大的框架中的一個小模塊。

    當前你們業務里是直接使用React呢,還是使用各種框架(比如Next.js)?

    「點點贊賞,手留余香」

    0

    給作者打賞,鼓勵TA抓緊創作!

    微信微信 支付寶支付寶

    還沒有人贊賞,快來當第一個贊賞的人吧!

    聲明:
    1. 本站所有文章教程及資源素材均來源于網絡與用戶分享或為本站原創,僅限用于學習和研究。
    2. 如果內容損害你的權益請聯系客服QQ:1642748312給予處理。
    碼云筆記 » React18正式版發布,看看它帶給我們哪些驚喜

    發表回復

    IT互聯網行業相關廣告投放 更專業 更精準

    立即查看 聯系我們
    亚洲 自拍 另类小说综合图区