React Native 0.58 正式版中文更新日誌

原文地址: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

相關文章
相關標籤/搜索