期待已久的新課上線啦!解鎖React Native開發(fā)新姿勢(shì),一網(wǎng)打盡React Native最新與最熱技術(shù),點(diǎn)我Get!!!
概述
在過去的一年中React Native經(jīng)歷了從v0.40到v0.52的十幾次的版本迭代,我們看到在這十幾次的版本迭代中React Native的組件庫(kù)在不斷地壯大,在新引進(jìn)的組件中既有FlatList、SectionList等具有更高性能的列表組件,也有與時(shí)俱進(jìn)的用于適配全屏幕的SafeAreaView組件,同時(shí)呢,一些性能較差、無法適應(yīng)React Native未來發(fā)展的一些老的組件,如:ListView、Navigator等組件也逐漸退出了沙場(chǎng)。
本文將向大家總結(jié)React Native在過去的一年中的重要變更,以及新組件,新API的適配建議。通過本文希望能幫助你快速的了解React Native在過去一年中的重要更新,如何讓你的APP去更快的應(yīng)用React Native新的特性,讓React Native新的組件及特性來提高你應(yīng)用的性能與體驗(yàn)。
同時(shí)呢也為大家精心準(zhǔn)備了《React Native實(shí)戰(zhàn)課程》,此課程會(huì)持續(xù)更新。
圖解React Native年度報(bào)告

-
新增組件(8個(gè))
-
新增API(5個(gè))
-
其他新增(2個(gè))
- ViewPropTypes
- takeSnapshot
-
過時(shí)、移除(7個(gè))
- BackAndroid
- Navigator
- ListView
- MapView
- RecyclerViewBackedScrollView
- AdSupportIOS
- NavigationExperimental
變更組件、API說明
新增組件說明
| 組件 | 最低支持版本 | 說明 |
|---|---|---|
| CheckBox | 0.49 | 一個(gè)用在React Native上的復(fù)選框組件,<font color=#FF0000>(目前僅支持Android,未來會(huì)對(duì)iOS做支持)</font> |
| ImageBackground | 0.46 | 新增的背景圖片組件,它是一個(gè)容器組件,支持包含其他組件 |
| VirtualizedList | 0.43 | FlatList 和 SectionList 的底層實(shí)現(xiàn)。 |
| FlatList | 0.43 | 基于VirtualizedList的高性能簡(jiǎn)單列表組件。 |
| SwipeableFlatList | 0.50 | 一個(gè)帶滑動(dòng)顯示更多菜單的FlatList組件; |
| SectionList | 0.43 | 基于VirtualizedList的高性能分組(section)列表組件。 |
| MaskedViewIOS | 0.48 | 可以為組件添加一個(gè)透明的遮罩; |
| SafeAreaView | 0.50 | 用于包裹其他View,它會(huì)自動(dòng)應(yīng)用填充布局中不足的一部分,但不包括navigation bars, tab bars, toolbars等視圖。 |
新增API說明
| 組件 | 最低支持版本 | 說明 |
|---|---|---|
| AccessibilityInfo | 0.47 | 一個(gè)用于判斷屏幕閱讀器是否處于激活狀態(tài)的API。 |
| DeviceInfo | 0.44 | 一個(gè)類專門提供屏幕尺寸,字體縮放等信息的API。 |
| BackHandler | 0.44 | 監(jiān)聽設(shè)備上的后退按鈕事件(Android、Apple TV)。 |
| findNodeHandle | 0.45 | 用于獲取組件的本地節(jié)點(diǎn)句柄的API。 |
| TVEventHandler | 0.43 | 一個(gè)用于接受Apple TV遠(yuǎn)程事件(如遙控器的事件)的API。 |
| [YellowBox](https://facebook.github.io/react-native/docs/debugging.html#in-app-errors-and-waReact Nativeings) | 0.44 | 通過這個(gè)API可以屏蔽指定的警告。 |
其他變更說明
| 組件 | 最低支持版本 | 說明 |
|---|---|---|
| ViewPropTypes | 0.44 | View 中的 propTypes 被移到 ViewPropTypes中。 |
| takeSnapshot | 0.44 | 將 takeSnapshot 方法從 UIManager 移動(dòng)到 ReactNative。 |
過時(shí)、移除說明
| 組件 | 最低支持版本 | 說明 |
|---|---|---|
| BackAndroid | 0.44 | 使用功能更豐富的BackHandler代替; |
| Navigator | 0.43 | 使用react-navigation代替; |
| ListView | 0.43 | 使用FlatList代替; |
| MapView | 0.43 | 使用react-native-maps代替此地圖組件; |
| RecyclerViewBackedScrollView | 0.42 | 這個(gè)組件是很久之前為了解決 scroll-back-when-data-is-added 這個(gè)bug而添加的,但是現(xiàn)在已經(jīng)直接通過ScrollView內(nèi)部代碼解決了這個(gè)問題。 |
| AdSupportIOS | 0.48.4 | 使用react-native-deprecated-modules或react-native-idfa代替; |
| NavigationExperimental | 0.44.3 | 使用react-navigation代替; |
以上便是同時(shí)React Native 2017-2018的年度報(bào)告,另外你也可以通過學(xué)習(xí)《React Native實(shí)戰(zhàn)課程》來獲得React Native的更多實(shí)戰(zhàn)經(jīng)驗(yàn)及技巧;