概述
在过去的一年中React Native经历了从v0.40到v0.52的十几次的版本迭代,我们看到在这十几次的版本迭代中React Native的组件库在不断地壮大,在新引进的组件中既有FlatList、SectionList等具有更高性能的列表组件,也有与时俱进的用于适配全屏幕的SafeAreaView组件,同时呢,一些性能较差、无法适应React Native未来发展的一些老的组件,如:ListView、Navigator等组件也逐渐退出了沙场。
本文将向大家总结React Native在过去的一年中的重要变更,以及新组件,新API的适配建议。通过本文希望能帮助你快速的了解React Native在过去一年中的重要更新,如何让你的APP去更快的应用React Native新的特性,让React Native新的组件及特性来提高你应用的性能与体验。
同时呢也为大家精心准备了《React Native实战课程》,此课程会持续更新。
图解React Native年度报告
新增组件(8个)
- CheckBox
- ImageBackground
- VirtualizedList
- FlatList
- SwipeableFlatList
- SectionList
- MaskedViewIOS
- SafeAreaView
新增API(5个)
- AccessibilityInfo
- DeviceInfo
- BackHandler
- findNodeHandle
- TVEventHandler
- [YellowBox](https://facebook.github.io/react-native/docs/debugging.html#in-app-errors-and-waReact Nativeings)
其他新增(2个)
- ViewPropTypes
- takeSnapshot
过时、移除(7个)
- BackAndroid
- Navigator
- ListView
- MapView
- RecyclerViewBackedScrollView
- AdSupportIOS
- NavigationExperimental
变更组件、API说明
新增组件说明
组件 |
最低支持版本 |
说明 |
CheckBox |
0.49 |
一个用在React Native上的复选框组件,(目前仅支持Android,未来会对iOS做支持) |
ImageBackground |
0.46 |
新增的背景图片组件,它是一个容器组件,支持包含其他组件 |
VirtualizedList |
0.43 |
FlatList 和 SectionList 的底层实现。 |
FlatList |
0.43 |
基于VirtualizedList的高性能简单列表组件。 |
SwipeableFlatList |
0.50 |
一个带滑动显示更多菜单的FlatList组件; |
SectionList |
0.43 |
基于VirtualizedList的高性能分组(section)列表组件。 |
MaskedViewIOS |
0.48 |
可以为组件添加一个透明的遮罩; |
SafeAreaView |
0.50 |
用于包裹其他View,它会自动应用填充布局中不足的一部分,但不包括navigation bars,tab bars,toolbars等视图。 |
新增API说明
组件 |
最低支持版本 |
说明 |
AccessibilityInfo |
0.47 |
一个用于判断屏幕阅读器是否处于激活状态的API。 |
DeviceInfo |
0.44 |
一个类专门提供屏幕尺寸,字体缩放等信息的API。 |
BackHandler |
0.44 |
监听设备上的后退按钮事件(Android、Apple TV)。 |
findNodeHandle |
0.45 |
用于获取组件的本地节点句柄的API。 |
TVEventHandler |
0.43 |
一个用于接受Apple TV远程事件(如遥控器的事件)的API。 |
[YellowBox](https://facebook.github.io/react-native/docs/debugging.html#in-app-errors-and-waReact Nativeings) |
0.44 |
通过这个API可以屏蔽指定的警告。 |
其他变更说明
组件 |
最低支持版本 |
说明 |
ViewPropTypes |
0.44 |
View 中的 propTypes 被移到 ViewPropTypes中。 |
takeSnapshot |
0.44 |
将 takeSnapshot 方法从 UIManager 移动到 ReactNative。 |
过时、移除说明
组件 |
最低支持版本 |
说明 |
BackAndroid |
0.44 |
使用功能更丰富的BackHandler 代替; |
Navigator |
0.43 |
使用react-navigation 代替; |
ListView |
0.43 |
使用FlatList 代替; |
MapView |
0.43 |
使用react-native-maps 代替此地图组件; |
RecyclerViewBackedScrollView |
0.42 |
这个组件是很久之前为了解决 scroll-back-when-data-is-added 这个bug而添加的,但是现在已经直接通过ScrollView内部代码解决了这个问题。 |
AdSupportIOS |
0.48.4 |
使用react-native-deprecated-modules 或react-native-idfa代替; |
NavigationExperimental |
0.44.3 |
使用react-navigation 代替; |
以上便是同时React Native 2017-2018的年度报告,另外你也可以通过学习《React Native实战课程》来获得React Native的更多实战经验及技巧;
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|