ReactNative 0.61之Fast Refresh

原文連接:https://facebook.github.io/react-native/blog/2019/09/18/version-0.61react

快速刷新

在React Native的社區中關於最多見的痛點問題中,有一個最多的回答是「hot reloading」-熱加載功能不能用了。在咱們編寫函數組件的時候不能正常工做,常常沒法沒法更新屏幕,也不能對拼寫錯誤和錯誤作出正確的反映。由於這個功能不可靠,許多人都關閉了這個功能。
在這裏插入圖片描述
在這裏插入圖片描述
在ReactNative 0.61版本中,咱們將如今的「Live Realod」和「Hot Relaoding」功能合併成了一個新功能叫「Fast Refresh」。Fast Refrsh是根據如下原則來從新實現的:git

  • Fast Refresh全面支持最新的React版本,包括函數組件和Hooks
  • Fast Refresh在出現拼寫錯誤和其餘錯誤時可以正常好的恢復,而且在須要時能夠回滾去從新所有加載
  • Fash Refresh不會對代碼進行侵入性轉換,所以能夠放心的設置爲默認打開。

下面是一個演示視頻地址:Fast Refresh Videogithub

下面是一些關於Fast Refresh的小提示:react-native

  • Fast Refresh默認會在函數式組件(和 Hooks)中保留React的當前狀態
  • 若是你須要每次編譯都重置React State,你須要在文件中添加一個特殊的 // @refresh reset命令到組件上。
  • Fast Refresh總會在不保留狀態的狀況下,從新裝載類組件。這樣能夠確保它是可靠的。
  • 在代碼中咱們總會犯錯!Fast Refresh在你保存文件的時候會自動嘗試從新加載。修復拼寫錯誤或者一個運行時報錯後,你不須要手動從新加載你的APP。
  • 在寫代碼的手添加console.log或者debugger調試語塊是一個很是棒的調試技巧。

其餘改進

  • 修復了在0.60版本中使用 use_frameworks問題以及對CocoaPods的支持。
  • 增長了useWindowDimensions 鉤子函數,多數狀況下能夠替換DimensionAPI
  • React 版本更新到了16.9,移除了一些不安全的生命週期函數名稱。

重大變化

  • 從0.61版本開始,移除了對React .xcodeproj的支持並刪除的相關文件。

我的水平有限,不免翻譯的有不正確的地方,但願你們諒解。數組

歡迎你們關注個人公衆號:君偉說,或者添加我我的微信:wayne214。相互交流共同進步。xcode

掃一掃二維碼,關注個人公衆號

相關文章
相關標籤/搜索