在過去的一年中React Native經歷了從v0.40到v0.52的十幾回的版本迭代,咱們看到在這十幾回的版本迭代中React Native的組件庫在不斷地壯大,在新引進的組件中既有FlatList、SectionList等具備更高性能的列表組件,也有與時俱進的用於適配全屏幕的SafeAreaView組件,同時呢,一些性能較差、沒法適應React Native將來發展的一些老的組件,如:ListView、Navigator等組件也逐漸退出了沙場。html
本文將向你們總結React Native在過去的一年中的重要變動,以及新組件,新API的適配建議。經過本文但願能幫助你快速的瞭解React Native在過去一年中的重要更新,如何讓你的APP去更快的應用React Native新的特性,讓React Native新的組件及特性來提升你應用的性能與體驗。react
同時呢也爲你們精心準備了《React Native實戰課程》,此課程會持續更新。ios
新增組件(8個)git
新增API(5個)github
其餘新增(2個)react-native
過期、移除(7個)app
組件 | 最低支持版本 | 說明 |
---|---|---|
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等視圖。 |
組件 | 最低支持版本 | 說明 |
---|---|---|
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的更多實戰經驗及技巧;佈局