React Native年度报告(2017-2018)

React Native年度总结

Posted by CrazyCodeBoy on February 26, 2018
( ^∀^)阿里正在招人 感兴趣的同学 欢迎来撩               

概述

在过去的一年中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年度报告

React Native年度报告(2017-2018)

变更组件、API说明

新增组件说明

组件 最低支持版本 说明
CheckBox 0.49 一个用在React Native上的复选框组件,<font color=#FF0000>(目前仅支持Android,未来会对iOS做支持)</font>
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 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-modulesreact-native-idfa代替;
NavigationExperimental 0.44.3 使用react-navigation代替;

以上便是同时React Native 2017-2018的年度报告,另外你也可以通过学习《React Native实战课程》来获得React Native的更多实战经验及技巧;