- 本文爲 Marno 原創,轉載必須保留出處!
- 公衆號【 aMarno 】,關注後回覆 RN 加入交流羣
- React Native 優秀開源項目大全:www.marno.cn
翻譯更新文檔真是一件特別枯燥無聊的事情,還會佔用大量的業餘時間,可是爲了翻譯的儘可能準確,我會詳細查看每個更新的內容,而後結合修改的代碼和更新說明再進行翻譯。儘管如此有時候仍是可能出現翻譯的不太準確的地方,但願你們能夠諒解。若是發現有翻譯不許確的地方,能夠經過留言或者關注個人公衆號聯繫我進行修改。javascript
此次更新對 iOS 的變更要大一些,新增了一個組 MaskedViewIO,還在
Guides (IOS) 中添加了 App Extensions 相關的內容,具體使用能夠到官網看下。還有就是大量重構了 TextInput 相關的代碼,合併了不少屬性,除此以外還爲適配 iOS11 作了一些改動,具體能夠看詳細的更新日誌。java
2.1 重大變化node
使 RCTDeviceEventEmitter 報致命性的警告react
以前若是 RCTDeviceEventEmitter 中出現錯誤,會經過
console.warn()
方式來提醒,如今若是發生錯誤,會直接經過throw new Error()
方式拋出錯誤。android
移除 RCTUIManager.h 文件中 3 個再也不使用的通知(iOS)ios
移除了官方 APIs 中的 AdSupportIOS(iOS)git
官方解釋是爲了集中精力提供更多高質量的組件,會逐漸移除那些不屬於該範疇內的一些 API 和 Component。可是若是你的項目中用到了該組件,能夠繼續從
react-native-deprecated-modules
中引用該組件(以往移除的一些組件也均可以在這裏找到),或者使用後面推薦的這個庫來代替: github.com/ptomasroos/…github
2.2 修復 Bugspring
以前在解決 SwipeableRow.js 與 react-navigation 的手勢衝突時,致使了一個黃盒警告,如今已經解決了。記得以前有提到過 SwipeableRow 這個組件,是一個實驗性組件,想了解的能夠翻下 0.47 的更新日誌npm
以前版本的示例代碼讓人覺得 title 是 section 的必須字段,但實際上不是,因此在文檔的示例代碼中刪除了
title 字段。
FlatList.js
類註釋種的語法錯誤2.3 新特性
__fbBatchedBridge is undefined
的報錯信息中添加可能致使該錯誤出現的緣由application/javascript
與 text/javascript
都添加爲 packager 支持加載的 bundle 的類型 babel-plugin-transform-flow-strip-types
的新依賴React.createClass
替換成 create-react-class 包中的 createReactClass
方法
以前的版本更新中就已經將 React.createClass 移除了,因此你們有用到 React.createClass 的,或者下載的三方庫中有用到的,記得去替換下。
20.1.0-alpha.3
更新至 20.1.0-chi.1
react-native info
Hide/Show Inspector
重命名爲 Toggle Inspector
CxxBridge
- 在水平的 ListView 中 header 和 footer 是如何渲染的(header在左,footer 在右)
- 添加如何使用
cloneWithRowsAndSections
的示例代碼- 爲 getRowCount() 和 getRowAndSectionCount() 方法添加說明
以前的文檔沒有誤讓人覺得 pagingEnabled 在雙平臺都支持橫向、豎向模式,但其實在 Android 上不支持豎向模式。
修復 Bug
新特性
1.添加了 ReadableArray 轉換成 ArrayList 的方法
2.添加了 List 轉換成 WritableArray 的方法
3.修改了 toBundle 方法,使其支持 arrays
4.修改了 fromBundle 方法,使其支持 lists
在該文檔中所說的 ToastAndroid 並不是 API 中提供的那個,而只是爲了演示 Android 原生 Toast 如何使用而建立的名字,因此爲了不混淆,乾脆將其更名爲 ToastExample。
在某些狀況下,設備是豎屏的,可是獲取到的 window 的尺寸倒是橫屏的尺寸,這是由於當設備方向發生變化時,尺寸更新事件從 ReactRootView 獲取到了錯誤的尺寸。如今將 window 尺寸和 screen 尺寸拆分開,就不會發生這樣的狀況了。
修復 Bug
新特性
contentInsetAdjustmentBehavior
屬性來適應 IPhone X 的「劉海」 convertIdToFollyDynamic
在 Android 已經早就支持繼承來擴展功能,可是 iOS 尚未,因此以前想要自定義 ViewManager ,只能自定義一個,而後複製以前的代碼,再把本身擴展的代碼加上。
組件加載圖片時,能夠在 onLoad 回調方法中獲取圖片的大小,可是這一方法在 iOS 上常常不能正確的回掉真實的圖片尺寸,如今對這一回調進行了優化。
這裏主要是對定位權限的一些修改,以適應 iOS11 的體驗
主要包括 blurOnSubmit、clearsOnBeginEditing、clearTextOnFocus
以前當 ScrollView 在豎屏狀態下滾動到最後一項時,將設備旋轉至橫屏,ScrollView 並不會停留再最後一項,這個 PR 就修復了這個問題