【0.45】React Native 中文更新日誌

  • 本文爲 Marno 原創,轉載必須保留出處!
  • 公衆號【 aMarno 】,關注後回覆 RN 加入交流羣
  • React Native 優秀開源項目大全:www.marno.cn

1、重大變化


  • 移除從 ‘react-native’ 中導入 React 的錯誤警告

    從 ‘react-native’ 中導入 react 模塊早在 0.25 的版本中被比標記爲過時,如今若是再繼續這樣導入會直接報錯。java

  • 更新 podspecs ,使其支持而且默認使用 C++ bridge(iOS)

    若是你正在使用 Cocoapods, 你必須更新你的 Podfile ,給其中的 React subspec 添加 ‘BatchedBridge’ 或 ‘CxxBridge’ 的依賴。node

2、新特性


Android平臺react

  • 在 YOGA 中向 java 提供 setPointScaleFactor() 方法
  • 向 Java 提供打印方法
  • 在 CameraRoll 中容許顯示手機中的視頻
  • 在 DevServerHelper 中添加 symbolication 支持
  • 將 openStackFrameCall 添加到 DevServerHelper
  • 在 ReactRootView 添加 appProperty
  • 在啓動期間提升 RN 線程的優先級
  • 若是 UIBackground 線程可用,則在 UIBackground 線程中進行斷言
  • 添加標記用來測試在 native 模塊線程之外的獨立線程中運行 BG UI 操做
  • 添加明確的錯誤信息當 e.getMessage 爲空時
  • 重構 interfaces
  • 提供了建立後臺 UI 線程的能力
  • 添加了更多的 systraces
  • 用 try/finally 將 CREATE_MODULE 和 INITIALIZE_MODULE markers 包裹起來
  • 不在 UI 線程運行 setupReactContext()
  • 在使用完 DraweeControllerBuilder 後進行清除
  • 啓動從 ASyncTask 到 Thread 的轉換
  • 下降 native 模塊和 JS 線程的線程優先級

iOS平臺ios

  • 使用 CameraRoll 能夠顯示手機中的視頻了
  • 在 iOS 中會提示更多的 verbose 級別的錯誤信息
  • 添加劇置 CxxModuleWrapper's 模塊指針的 API
  • 從樹中移除 RCTBatchedBridge rule 以及全部的使用
  • Split off websocket related items to RCTPackagerConnection
  • 從 RCTRootView 初始化時當即觸發 renderApplication 方法
  • Native 動畫 - 在 iOS 上支持 decay 動畫
  • Port perf metrics used in RCTBatchedBridge
  • 在 iOS 的 native 模塊中添加了對同步方法的支持
  • 在 RCTShadowView 中採用 Yoga's YGConfig
  • 清除 Xcode 項目中對 UIExplorer 的引用
  • 將 Merge RCTPackagerClient 合併到 RCTPackagerConnection 中
  • 從 Xcode 項目中移除對 RCTPackagerClientResponder 的引用
  • 引入 RCTAssertUIManagerQueue()
  • 引入 RCTUIManagerObserverCoordinator ,一種新方式訂閱來自 UIManager 的粒度通知
  • 當載入腳本失敗時拋出異常
  • 從 NetworkingModule 中移除對 WebWorker 的支持
  • 從 Timers 中移除對 WebWorker 的支持
  • 放棄對 WebWorkers 的支持
  • 避免在正在關閉的 view controller 上顯示其餘控件(Alert 和 Modal 的問題)
  • 在 Redbox 中提示列表嵌套異常
  • 對 Apple TV 的支持: 爲 ART library 添加在 tvOS 上的構建支持
  • 經過 bridge 暴露 shake-to-show dev menu 設置
  • 在 tvOS 模擬器中啓用 dev menu

iOS / Android 通用web

  • 當組件組件卸載時須要將 TouchableHighlight 的 _isMounted 設置爲 false
  • 自定義 build 配置: 移動 transform 配置到本身的屬性中
  • 修復誤報 isMounted() 方法過時的警告
  • CLI: Stronger typing for transformers
  • CLI: Disable no-alert eslint rule for node code
  • CLI:去掉 Config 中的 FBism
  • CLI: 在 callsite 中解析路徑而不是在 Config.loadFile 中
  • CLI: 修復 Promise 解決回掉錯誤
  • 修復 組件多行模式時候默認佔位文字的顏色
  • Allow calling NativeViewHierarchyManager.addRootView() off the UI thread
  • FlatList: 使用 $ReadOnlyArray 來代替 SectionList 中的 Array 來保存 SectionItemT
  • FlatList: 將 section key 變爲可選參數
  • FlatList: 多項改進
  • FlatList: 優化 VirtualizedList 進行更新的觸發機制
  • FlatList: 將 getItem 和 getItemCount 設置爲必須屬性 (VirtualizedList)
  • FlatList: 添加 ListEmptyComponent 屬性
  • FlatList: 修改 separators.updateProps 屬性的前 / 後順序
  • FindNodeHandle properly handles ReactCurrentOwner current Fiber type
  • 將 React 版本從 16-alpha6 同步爲 16-alpha12
  • Open in editor fix, show tip instead of error
  • 解決 parseFloat 錯誤使用 "radix" 的問題
  • 在 processColor.js 添加 flow
  • YellowBox 中添加能夠忽略警告的方法
  • 重構 MessageQueue
  • 將 bundle 中的 module 按照路徑進行排序

Yoganpm

  • 給 Java 提供 setPointScaleFactor 方法
  • 給 Java 提供 print 方法
  • 將測量的 nodes 大小做爲四捨五入時的最小約束
  • 在 RN 中禁止 yoga 進行四捨五入
  • 從實驗性特徵中移除四捨五入的特徵
  • Move reset into yoga node and don’t set overflow as it has no effect
  • 經過簡化調用來修復 useLegacyStretchBehaviour 標記
  • Fix flex-wrap with max constraint
  • Fix sizing of non stretch items
  • 使測量方式更像 web 中的測量方式
  • 將 YGLogger 移入 YGConfig 中而且把 YGNodeRef 與 log events 相關聯
  • New round-to-pixel-grid algorithm that fixes possible subpixel gaps between sibling nodes
  • Assertion on attempt to get layout metrics from dirtied Yoga node
  • 添加 YGConfigCopy

Packagerwindows

  • 將 node-haste 下的 index 重命名爲 DependencyGraph
  • Packager - 修復在 windows 中的 symbolicate
  • 不在啓動時鏈接 websocket ,也不在中止時斷開 websocket 鏈接
  • 當關閉 socket 時調用 onDisconnected() 而不是 onConnected()
  • 移除沒有用到的 hash
  • 將 packager 的 inspector 超時時間從 5s 增長到 30s
  • ModuleGraph: 包括全部可能的 asset 類型
  • 優化 assets' JS
  • Worker-farm: 隔離 stdout / stderr
  • 正確處理 babel 忽略的文件,只返回內容
  • Force 'default' transform variant to be present
  • 使構建 bundle 的函數爲異步執行
  • 從 Bundler 中抽取可複用的邏輯
  • Separate node polyfills from runtime transforms
  • 統一 source map 類型
  • 修改 postprocessing hook 使其能在 ModuleTransport 實例上運行
  • Inline plugin: type options
  • 使 test 從 side effects 獨立出來
  • 從 cache key 中移除不相關的選項
  • Stronger typing for transform options / remove duplication
  • 修復 module system 和 polyfills 的路徑
  • 修正對 haste packages 的支持
  • Fix release / minified bundle builds
  • 更快的 terminal 反應
  • Fork local version of worker-farm
  • ResolutionRequest: keep option object as it is
  • Buck worker: output assets
  • Buck worker:更好的類型
  • Worker:強化 TransformOptions
  • AssetPathUtils: @flow
  • GlobalTransformCache: throat() 文件讀取方法
  • 移除最後使用的 declareOpts 的部分並用 Flow 類型代替
  • TransformCache: 保存最後一次進行緩存的時間
  • TransformCache: 包含 UID + 再也不使用 base64
  • 更新 jest-runtime 到 19.0.3 版本
  • Buck library: expose asset content
  • Buck library: aggregate assets
  • AssetServer: @flow
  • getAssetDataFromName: @flow
  • GlobalTransformCache: 將 transform 配置摘要進行緩存
  • GlobalTransformCache: 修復無約束函數
  • Add support for relative files with custom extensions
  • 正確轉換 assets 以免字符串
  • worker-farm/lib/fork.js: cleanup
  • worker-farm: 傳遞明確的 execArgv 給 workers

3、修復 Bug


Android平臺react-native

  • 修復當點擊設置中的「Comments」時致使的奔潰
  • 修復設置了 z-index 屬性的組件觸摸目標不許確的問題
  • 修復 Inspector 中 Page 構造函數提示 NoSuchMethodError 的問題
  • Fix Nodes not having correct view managers externally
  • 修復在使用 時形成狀態欄顏色加深的問題

iOS平臺緩存

  • 修復當在 cli 參數中明確了 scheme 時執行 run-ios 命令出現的問題
  • 修復 RCTMultipartDataTask 中的內存泄露
  • 修復在 RCTTouchEvent 中由 NaN 值引起的奔潰
  • 修復 RCTAnimation 中頭文件的問題
  • 在 npm package 配置中添加 third-party-podspecs
  • 修復在使用 react-native-tooltip 時出現的自動添加 「Cpoy」 選項的問題

iOS / Android 通用babel

  • 將 XMLHttpRequest 中的 withCredentials 默認值改成 true
  • 在公開的 API 中提供 findNodeHandle() 方法
  • 修復 TouchableHighlight 中的警告

相關文章
相關標籤/搜索