React在部落格宣布釋出React 16.3.0版本,這個版本有兩項較重要的更新,首先是回應社群長期要求的Context API願望,給了正式版。另外,對元件提供新的生命周期方法,為非同步渲染鋪路。

過去React中的Context API一直屬於實驗性質,官方文件也註明,不要在正式環境中使用Context API,因為這些API不停的更新,而直到React 16.3版本,RFC階段已經結束,並且新的API也被合併,現在釋出正式版Context API,官方表示,舊版API在React 16.x的每一個版本都會繼續支援直到17版,開發者有足夠的時間轉移使用新的API。

由於React團隊正在為提供非同步渲染功能做準備,因此計畫性淘汰部分不適用的方法,這版本開始淘汰組件生命周期方法。這些方法為componentWillMount、componentWillUpdate以及componentWillReceiveProps,官方提供了新的方法,提醒開發者往後要以componentDidMount、componentDidUpdate與static getDerivedStateFromProps代替。

官方解釋,由於舊的元件生命周期方法常被誤用或是濫用,他們預期在非同步渲染可能造成問題,因此先行預告即將淘汰,並在之後版本會為這些方法加上UNSAFE_前綴,但這並非表示這些方法真的有安全性上的漏洞,而是在往後的React版本可能存在缺陷,特別是啟用非同步渲染後。

受影響的不會只有這些方法,接下來還有許多組件需要改變,React表示,他們會盡量漸進式的遷移這些功能,並為開發者提供替代方案。他們提到,在臉書他們維護了超過5,000個元件,也依賴著緩慢穩定的釋出周期,因此不會在短時間有劇烈的改變,開發者不需要擔心。


Advertisement

更多 iThome相關內容