回到部落格

2024-02-24

【React News】React 19 is Coming !

【React News】React 19 is Coming !

原文發表於 Medium

【React News】React 19 is Coming !

最近有個大新聞,就是React 19 要來了! 這次的改版帶來了許多的進步,許多新功能可以讓我們在撰寫程式碼時更加方便,專案運行也更有效率。

稍稍盤點一下新的改版內容,根據React Team的Andrew Clark 的在X上的推文:

我的感想幾點如下:

React Compiler 送走了useMemo跟useCallback

在改動中項目,我最感動的是React因為Compiler的加入將變得更聰明,可以輕鬆解決頁面冗余渲染的問題,而開發者們總算可以擺脫useMemo跟useCallback這兩個hook了。(如果還沒接觸到,大部分是代表專案還沒到了要檢討效能的時候。好消息是,應該也不用學了。)

同時,React Compiler也可搭配 ESLint<StrictMode>,確保程式碼的正確性與一體性,使未來的專案管理與團隊操作將更加安全有效率。

React Context完全體出現

現在大家都使用Hook來取用context資料,<Context.Consumer>這個Classic Component時代的產物 早就進了垃圾桶,這次React Team直接把跟<Context.Consumer>相對的<Context.Provider>直接改成<Context>這樣的簡單寫法,大概暗示著Functional Component的完全勝利

簡化的使用方式,讓跨元件數據傳遞的程式碼更加方便,且更不容易混淆。

use Hook要來了(沒錯它就是 “use”,後面沒有其他文字)

在目前的React Canaries (白話點就是新版React封測)中,use這個hook功能就快要完成了,它是專門用來獲取Promise跟Context資料的管道。

依照目前React Blog透露的資訊,使用use可在Promise尚未完成前,為頁面呼叫<Suspense>,提升使用者體驗;而在用於獲取context資料時,因為use不用向其他Hook一樣要寫在整個元件的最上層,所以比useContext更加靈活。(例如把它用在if/else的下層程式碼中做一些操作)

以上幾點跟大家分享,我非常期待上面所說的改變早日到來,這樣又有許多新的玩法可以嘗試了!

若各位還想更加深入了解,建議參考最新的2024.02.15 React Blog內容:** React Labs: What We’ve Been Working On — February 2024**
綜觀以上,未來的React將會更方便、直覺,若您還沒接觸過React,現在入坑正是時候!

一起在React19上線前夕,成為React開發者的一員吧!