组件
-
跨平台组件
ActivityIndicator
: 菊花
Button
: 按鈕,自定义性差,一般不用
FlatList
:高性能的列表(不分块)
Image
:图片
ImageBackground
:背景图
KeyboardAvoidingView
:包裹住根据键盘调整位置的组件,可以防止键盘弹起时挡住视图
Modal
:模态视图
Picker
:选择器
RefreshControl
:下拉刷新
ScrollView
:滑动列表,内容一次性全部加载
SectionList
:高性能分块列表
Slider
:可以选择一个范围值的组件
StatusBar
:状态栏
Switch
:开关
Text
:文本
TextInput
:文本输入框
TouchableHighlight
:包裹有点击效果的视图,可用来自定义Button
TouchableOpacity
:相比TouchableHighlight来说不改变颜色,只改变透明度,更适合一般场景
TouchableWithoutFeedback
:点击没样式上的效果,用处不大。有且只有一个子节点
View
:基础视图
VirtualizedList
:FlatList和SectionList的底层实现。FlatList 和 SectionList 使用起来更方便,仅当想获得比 FlatList 更高的灵活性(比如说在使用 immutable data 而不是 普通数组)的时候,你才应该考虑使用 VirtualizedList。
WebView
:即将被移除,使用React-native-webView替代 -
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可实现跨平台 -
Android平台组件
DrawerLayoutAndroid
:Android导航视图,可以实现抽屉效果,我们推荐使用跨平台的react-navigation中的 DrawerNavigation 来代替此组件。
ProgressBarAndroid
:进度条
ToolBarAndroid
:工具栏
TouchableNativeFeedback
:Android上有原生点击效果的组件
ViewPagerAndroid
:Android上分页视图
汇总一下:
22
个跨平台组件,10
个iOS特有组件,5
个Android特有组件,共计37
个组件。
API
-
跨平台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
:控制设备振动,触发是异步的,模拟器上调用没有效果。 -
iOS平台API
ActionSheetIOS
:ActionSheet 弹出框
ImagePickerIOS
:图片选择器
PushNotificationIOS
:推送
Settings
: NSUserDefault的封装
VibrationIOS
:废弃,用Vibration替代 -
Android平台API
BackAndroid
:已弃用。请使用BackHandler
代替
DatePickerAndroid
:打开一个标准的 Android 日期选择器的对话框
PermissionsAndroid
:管理一些需要弹出提示框供用户选择的权限
TimePickerAndroid
:打开一个标准的 Android 时间选择器的对话框
ToastAndroid
:用于在 Android 设备上显示一个悬浮的提示信息。
备注:一些涉及样式属性的API此处就不列举出来了,可以参考:https://reactnative.cn/docs/getting-started/
网友评论