- 本文为 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 就修复了这个问题