国产片侵犯亲女视频播放_亚洲精品二区_在线免费国产视频_欧美精品一区二区三区在线_少妇久久久_在线观看av不卡

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - 編程技術 - React 18 就要來了,來看看發布計劃

React 18 就要來了,來看看發布計劃

2021-06-09 23:20知乎黃玄 編程技術

React 在今天剛剛在官網發布了有關于 React 18 的計劃更新( The Plan for React 18 – React Blog )。

React 18 就要來了,來看看發布計劃

React 在今天剛剛在官網發布了有關于 React 18 的計劃更新( The Plan for React 18 – React Blog ),同時發布了 Alpha 版本的 npm 包:The Plan for React 18 – React Blog ? reactjs.org

React 18 就要來了,來看看發布計劃

官推

最近雖然忙到沒時間做視頻,不過這么大的事還是值得來聊聊(趁著公司電腦強制要求升 Big Sur 不讓不讓用的間隙……)。本文并非逐字翻譯,一如既往的會帶不少個人想法,不代表公司觀點(聽說這句話其實說了并沒什么卵用是吧 Oppo)。

React 18 正式引入了對并發模式/特性的「漸進升級」策略

 

之前我就提到過 React 18 會把重點放在解決兼容性和如何做遷移的問題上。

自從 Concurrent Mode(并發模式,以下簡稱 CM)宣布以來,Core Team 成員每天在推上 Github 上「XXX is not CM-safe」嚇死個人,使得整個社區都一直在擔心未來的 React 是不是會為了上 CM 直接 breaking change,然后不兼容 CM 的代碼必須要全部遷移過來才能用 CM("all-or-nothing" upgrade strategy)。

這次 18 的計劃發布終于橫掃了大家的擔憂 —— 并發的引入將會是 opt-in 得,不用的話就沒有 breaking changes,整體采用了漸進升級的策略(gradual adoption strategy)。

博文里基本沒講怎么漸進,只是說「升級到 18 幾乎不需要任何改動」。其實大概上有兩個地方做到了「漸進」:

 

  1. React 團隊對 "Concurrency opt-in" roots 的兼容性做了很多優化,如果不用 CM 特性的話,大概率能 just works。如博客所說「concurrent rendering will only be enabled for updates triggered by one of the new features.」—— 從此再無 CM,只有 Concurrent Features(并發特性)
  2. 對于直接想讓應用的某一部分「躺平」的可以用 legacy root。我之前在VLOG 第四期中就和大家提到過,17 對事件系統的修改的目的之一就是為了讓你的 React 應用同時可以跑在不同「版本」上。18 的實際做法是引入了新的 Root API ReactDOM.createRoot 來與舊的 ReactDOM.render API 區分開來,你可以將整個 React 樹分形成不同的 roots,用舊 API 的 legacy roots 會跑在「legacy mode 傳統模式」上(相當于跑在 17 上),用新 API 的 roots 會跑在 "Concurrency opt-in" roots 下。

React 18 的其他新特性

 

  1. 更加激進的「 自動 batching 」,React 17 只在事件回調中 batch,React 18 則會對任何來源的 setState 做盡可能多的 batching。 如果你跟我一樣是用類似 state monad 的 mental model 來思考 state 的話,你可能會以為 React 早就是這個行為了。對于 Hooks 來說你是沒有辦法拿到中間狀態的 state 而 Class 可以拿 this.state 。這也是我以前說過的 class 對比 FC 的純度問題。
  2. 新的 startTransition 與 useDeferredValue API,本質上都是允許你將 UI 的一部分標記為「較低的更新優先級」。
  3. Suspense SSR 。你可能知道也不知道的是,完全用 React 重寫的新Facebook.com 是用 Hermes 做 SSR 來優化首屏渲染得,所以 SSR 的優化就成為了 React 團隊的優先級之一啦……但是傳統 SSR 的一個問題是,全量渲染話延遲太高了。而 CM + Suspence 就可以做到用 Suspence boundary 將應用分片,然后以此為單位做流式 SSR,是不是有重新發明 BigPipe 的感覺了?
  4. StrictMode 在既 double-render 之后加入了 double-effect

可以看到,隨著 CM 的逐漸落地,其「底層能力」的一面終于開始逐漸顯著出來,越來越多的上層應用將會發布以及正在開發中(比如 Brian 提到的 Offscreen API 以及 RN Pre-render)等。

React 18 工作組

 

最后呢就是 React 成立了一個工作組(WG,Working Group)來向整個社區公開有關 18 的討論與進度。這里的重點是幫助社區的主要框架、類庫作者在 18 Alpha 階段開始遷移,這樣當 18 真正發布時社區能夠準備充分一些,React 團隊一向把開發者體驗放在非常高的位置。

 

 

 

React 18 就要來了,來看看發布計劃
React 不用我都不知道 Github 還有 Discussions 這個功能……

 

原文鏈接:https://zhuanlan.zhihu.com/p/379072979?utm_source=tuicool&utm_medium=referral

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 久久99国产精品久久99大师 | 久久久久亚洲精品 | 国产精品国产 | 欧美日韩在线看 | 欧美成人区 | 亚洲精品视频网站在线观看 | 91嫩草精品 | 亚洲大片免费观看 | 久久视频精品 | 成人免费影院 | 视频一区二区三区在线播放 | 99久久综合精品五月天 | 欧美国产激情二区三区 | 国产成人综合一区二区三区 | 日韩极品在线 | 国产福利在线视频 | 美女视频一区二区三区 | 国产精品日韩 | 精品第一页 | 国产一区二区高清在线 | 国产精品久久久久久久久久久新郎 | 五月婷婷在线视频 | 欧美电影免费网站 | 美女黄网 | 久热中文 | 久久久久久久久久久美女 | 爱色av入口 | 黄色最新网站 | 毛片免费在线播放 | 久久成人精品视频 | 亚洲一区二区三 | 成人av福利| 91久久久久久久 | 婷婷国产 | 1区2区视频 | 亚洲精品乱码久久久久久按摩观 | 国产91视频在线观看 | 欧洲一级毛片 | 中文字幕在线观看一区二区三区 | 久久久久久久免费 | 成人午夜视频在线 |