反應原生

React Native 0.61 更新帶來了一項重大新功能,改善了開發體驗。

 

React Native 0.61 的特點

在 React Native 0.61 中,我們將目前的「即時重新載入」(儲存時重新載入)和「熱重新載入」亮點綁定在一起,形成一個名為「快速刷新」的新功能。快速刷新包含以下原則:

 

  1. 快速刷新 完全支援目前的React,包括功能組件和Hooks。
  2. 快速刷新會在拼字錯誤和不同的失誤後恢復,並在需要時回退到完全重新載入。
  3. 快速刷新不會執行侵入性代碼更改,因此它足夠可靠,可以預設啟用。

 

快速刷新

反應原生 即時重載和熱重載已經有一段時間了。當偵測到程式碼變更時,即時重新載入將重新載入整個應用程式。這將失去您在應用程式中目前的位置,但是,可以保證程式碼不會處於損壞狀態。熱重載將盡力「修復」您所取得的進展。無需重新加載整個應用程式即可完成此操作,從而使您可以更快地看到進度。

熱重載聽起來很棒,但是,它有很多錯誤,並且不能與當前的 React 功能(例如帶有鉤子的功能組件)一起使用。

React Native 小組重新設計了這兩個功能,並將它們組合成新的快速重新載入功能。它是預設啟用的,並且會在可能的情況下執行與熱重載相比較的操作,如果確實沒有,則回退到完全重載。

 

升級到 React Native 0.61

同樣,對於所有 React Native 升級,建議您查看最近建立的專案的差異,並將這些變更套用到您自己的專案中。

 

更新依賴版本

第一步是升級 package.json 中的條件並引入它們。請記住,每個 React Native 版本都會附加到特定版本的 React,因此請確保您也更新它。您還應該確保react-test-renderer與React版本相符。如果您使用它並升級 Metro-react-native-babel-preset 和 Babel 版本。

 

流量升級

最初是一個簡單的。 React Native使用的Flow版本在0.61中進行了刷新。這表示您需要確保您擁有的流容器相依性設定為 ^0.105.0,並且您的 .flowconfig 檔案的 [version] 中具有類似的值。

如果您在專案中使用 Flow 進行類型檢查,這可能會在您自己的程式碼中提示額外的錯誤。最好的建議是您調查 0.98 和 0.105 範圍內版本的變更日誌,以了解可能導致這些問題的原因。

如果您使用 Typescript 對程式碼進行類型檢查,則可以真正消除 .flowconfig 檔案和 flow bin 依賴項並忽略這一點差異。

如果您沒有使用類型檢查器,建議您考慮使用類型檢查器。任何一種選擇都可以,但建議使用 Typescript。