RN组件和API概览

组件

  1. 跨平台组件
    ActivityIndicator: 菊花
    Button: 按鈕,自定义性差,一般不用
    FlatList:高性能的列表(不分块)
    Image:图片
    ImageBackground:背景图
    KeyboardAvoidingView:包裹住根据键盘调整位置的组件,可以防止键盘弹起时挡住视图
    Modal:模态视图
    Picker:选择器
    RefreshControl:下拉刷新
    ScrollView:滑动列表,内容一次性全部加载
    SectionList:高性能分块列表
    Slider:可以选择一个范围值的组件
    StatusBar:状态栏
    Switch:开关
    Text:文本
    TextInput:文本输入框
    TouchableHighlight:包裹有点击效果的视图,可用来自定义Button
    TouchableOpacity:相比TouchableHighlight来说不改变颜色,只改变透明度,更适合一般场景
    TouchableWithoutFeedback:点击没样式上的效果,用处不大。有且只有一个子节点
    View:基础视图
    VirtualizedListFlatListSectionList的底层实现。FlatList 和 SectionList 使用起来更方便,仅当想获得比 FlatList 更高的灵活性(比如说在使用 immutable data 而不是 普通数组)的时候,你才应该考虑使用 VirtualizedList。
    WebView:即将被移除,使用React-native-webView替代

  2. iOS平台组件
    DatePickerIOS:iOS平台日期選擇器,注意在onDateChange中更新date來刷新頁面
    MaskedViewIOS:同mask一样
    NavigatorIOS: 导航控制器,同样可以用跨平台的react-navigation来替代
    PickerIOS:用法同Picker
    ProgressViewIOS:进度条
    SafeAreaView:安全区域
    SegmentedControlIOS:在iOS设备上渲染一个UISegmentedControl组件
    SnapshotViewIOS:截图组件
    TabBarIOS:iOS平台的TabBarController,使用第三方的TabNavigator可实现跨平台
    TabBarIOS.Item:使用第三方的TabNavigator.Item可实现跨平台

  3. Android平台组件
    DrawerLayoutAndroid:Android导航视图,可以实现抽屉效果,我们推荐使用跨平台的react-navigation中的 DrawerNavigation 来代替此组件。
    ProgressBarAndroid:进度条
    ToolBarAndroid:工具栏
    TouchableNativeFeedback:Android上有原生点击效果的组件
    ViewPagerAndroid:Android上分页视图

汇总一下:22个跨平台组件,10个iOS特有组件,5个Android特有组件,共计37个组件。

API

  1. 跨平台API
    AccessibilityInfo:可以用它来查询读屏应用的当前状态,并且可以监听其状态变化
    Alert:在 iOS 和 Android 上显示一个静态的提示框
    AlertIOS:用于弹出一个 iOS 提示对话框
    Animated:动画
    AppRegistry:所有 React Native 应用的 JS 入口
    AppState:应用当前是在前台还是在后台,并且能在状态变化的时候通知
    AsyncStorage:是一个简单的、异步的、持久化的 Key-Value 存储系统,它对于 App 来说是全局性的,可用来代替 LocalStorage
    BackHandler:监听设备上的后退按钮事件。Android:监听后退按钮事件。如果没有添加任何监听函数,或者所有的监听函数都返回 false,则会执行默认行为,退出应用。tvOS(即 Apple TV 机顶盒):监听遥控器上的后退按钮事件(阻止应用退出的功能尚未实现)。iOS:尚无作用。
    CameraRoll:只提供了基本的访问本地图片的功能,并没有提供相册界面。对于多数开发者来说,可能第三方的react-native-image-crop-picker的功能更为完整易用(可多选、压缩、裁剪等)
    Clipboard:组件可以在 iOS 和 Android 的剪贴板中读写内容
    Dimensions:获取设备屏幕的宽高
    Easing:实现了常见的动画缓动函数
    Geolocation:地理定位,只定位不解析地名,Android上还基于Google服务,不好用
    ImageEditor: 裁剪图片
    ImageStore:图片存储器,大部分方法都只适用于iOS
    Interactionmanager:交互管理器,可以将一些耗时较长的工作安排到所有互动或动画完成之后再进行。这样可以保证 JavaScript 动画的流畅运行。
    Keyboard:用来控制键盘相关的事件。
    LayoutAnimation:当布局变化时,自动将视图运动到它们新的位置上。
    Linking:提供了一个通用的接口来与传入和传出的 App 链接进行交互。
    NetInfo:获取设备当前的联网状态。
    PanResponder:可以将多点触摸操作协调成一个手势。它使得一个单点触摸可以接受更多的触摸操作,也可以用于识别简单的多点触摸手势。
    PixelRatio: 提供了访问设备的像素密度的方法。可以实现2X、3X图片的功能。
    Share:系统分享组件
    Systrace:性能调试,使用可参考文档:https://reactnative.cn/docs/performance/
    Transforms:对View做一些转换
    Vibration:控制设备振动,触发是异步的,模拟器上调用没有效果。

  2. iOS平台API
    ActionSheetIOS:ActionSheet 弹出框
    ImagePickerIOS:图片选择器
    PushNotificationIOS:推送
    Settings: NSUserDefault的封装
    VibrationIOS:废弃,用Vibration替代

  3. Android平台API
    BackAndroid:已弃用。请使用BackHandler代替
    DatePickerAndroid:打开一个标准的 Android 日期选择器的对话框
    PermissionsAndroid:管理一些需要弹出提示框供用户选择的权限
    TimePickerAndroid:打开一个标准的 Android 时间选择器的对话框
    ToastAndroid:用于在 Android 设备上显示一个悬浮的提示信息。

备注:一些涉及样式属性的API此处就不列举出来了,可以参考:https://reactnative.cn/docs/getting-started/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,204评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,091评论 3 395
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,548评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,657评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,689评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,554评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,302评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,216评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,661评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,851评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,977评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,697评论 5 347
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,306评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,898评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,019评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,138评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,927评论 2 355

推荐阅读更多精彩内容