原文地址:https://github.com/react-native-community/react-native-releases/blob/master/CHANGELOG.md#0580 本文由簡書做者凌宇之藍翻譯,因本人水平有限,不免翻譯有誤,還望各位見諒。 ##[0.58.0] 歡迎閱讀2019年1月發佈的React Native。此版本有許多重大變化,咱們特別提請您注意:java
- 核心組件的流程類型的現代化和增強
- 中斷對ScrollView,CameraRollView和SwipeableRow的更改,使其在某些方法中再也不綁定到組件實例
- 支持WebKit中的相互TLS
- 從/ assets以外的目錄提供的資產
- 針對意外行爲的大量崩潰修復和解決方案
感謝那些對咱們的發佈候選人提供反饋的人。若是您有興趣幫助評估咱們的下一個版本,請在此處查看咱們的跟蹤問題。react
##新增android
- 添加對publicPath的支持以啓用來自不一樣位置的靜態資產(0b31496 by @gdborton) ####Android
- 如今可使用Android系統屬性設置Bundler服務器主機,以便在多個應用程序或應用程序安裝中更輕鬆地進行調試adb shell setprop metro.host(@stepanhruda的e02a154)
- Native Modules如今可使用額外的屬性(userInfo)附加WritableMap arg來拒絕承諾。請參閱Promise.java中定義的接口以獲取可用的方法。這能夠在JavaScript中以Error.userInfo形式訪問。這是爲了匹配iOS現有的Error.userInfo行爲。有關示例,請參閱PR。(@Salakar#20940)
- Native Modules如今將nativeStackAndroid屬性暴露給使用Exception / Throwable拒絕的promise - 使Javascript內的本機錯誤堆棧可用:Error.nativeStackAndroid。這是爲了匹配iOS現有的Error.nativeStackIOS支持。有關示例,請參閱PR。(@Salakar#20940) ####IOS
- 將moduleForName:lazilyLoadIfNecessary添加到RCTBridge.h以按名稱查找模塊並強制加載它們,以及對@dhahidehpour,@ fkgozali和@mmmulani進行的LazyLoading的各類改進
- 當使用WebKit = {true}進行相互TLS身份驗證時,將WebView的功能添加到setClientAuthenticationCredential(8911353 by @mjhu) ##Changed
- 核心組件的Flow類型的主要改進
- 許多公共組件都轉換爲ES6類
- Flow依賴如今爲v0.86.0
- metro依賴如今是v0.49.1
- jest依賴如今是v24.0.0-alpha.6
- fbjs-scripts依賴如今是v1.0.0(#21880)
- folly的依賴如今是v2018.10.22.00
- React sync for revisions
- 熱從新加載時清理的錯誤消息
- 容許CxxModules實現須要兩次回調的函數 ###突破性變化
- 轉換爲ES6類的組件的公共方法再也不綁定到其組件實例。對於ScrollView,受影響的方法是setNativeProps,getScrollResponder,getScrollableNode,getInnerViewNode,scrollTo,scrollToEnd,scrollWithoutAnimationTo和flashScrollIndicators。對於CameraRollView,受影響的方法是:rendererChanged。對於SwipeableRow,受影響的方法是:close。所以,經過引用將這些方法做爲回調傳遞給函數已再也不安全。組件實例的自動綁定方法是createReactClass的一種行爲,咱們決定在切換到ES6類時不保留這種行爲。 ####Android
- 優化PlatformConstants.ServerHost,PlatformConstants.isTesting和PlatformConstants.androidID以得到性能 ####IOS
- 禁止關於本地模塊缺乏導出的黃色框
##移除git
- 移除 UIManager.measureViewsInRect() ##修復bug
- 修復Yoga JNI綁定中潛在的UI線程停頓方案
- 修復因橋接cxx模塊註冊表周圍的競爭條件而發生崩潰的問題
- 修復視圖和文本的displayName;顯示特定名稱而不是通用「組件」
- 修復react-native init --help,使其不返回undefined
- 修復react-native --sourceExts
- 修復當可見道具未定義或爲空時意外顯示模態
- 修復VirtualizedList分頁期間的崩潰
- 修復使用遠程調試和Delta捆綁包刪除模塊可能致使堆棧跟蹤不正確的狀況 ####Android具體修復bug:
- 刪除根節點時修復崩潰
- 修復各類ReactInstanceManager死鎖和競爭條件
- 解除ReactModalHostView和DialogManager時修復IllegalArgumentException
- 使用Android Gradle Plugin 3.2修復不正確的合併資產路徑
- 在onoutout回調時修復HTTP鏈接
- 當遠程服務器啓動關閉時,修復websocket正確關閉
- 修復Android 16設備的兼容性問題
- 修復了在加載源時不遵照Image.resizeMode的問題,從而致使意外填充
- 修復Android 28的倒置ScrollView,使動量處於正確的方向 ####IOS具體修復bug:
- 修復內聯視圖內容未被從新傳輸的狀況
- 修復使用前置攝像頭時ImagePickerIOS圖像不一致的問題
- 修復競爭條件並在關閉iOS 11及更早版本的JSC時崩潰
- 修復NetInfo的_firstTimeReachability中的崩潰
- 修復內聯視圖可見的狀況,即便它應該被截斷
- 使用與內容偏移相關的ScrollView修復崩潰
個人網站:https://wayne214.github.iogithub