reactNative官方文档重难点摘录

定义组件 :
class
组件名 extends Component {
render
() {
return | | //
三个自带的组件
}
}
AppRegistry.registerComponent
( ‘应用名 | 组件名’ , () => 组件名 ); // 这个只能有一次
控制组件 : props : 在父组件中指定,指定后不可改, (组件属性),固定
state:
可改, 变化
初始化 state: constructor ( props ) {}
修改 state: setState
样式 : 使用驼峰命名法,使用 const style = StyleSheet.create ( {} )
样式尺寸无单位
写在组件中的样式要有两层 {} ,而调用样式组件的只要一层 {} 即可
flex
宽高 : flex:1 意为让组件占用所有的空间,若值不一,则按比例占据
处理文本输入 :
onChangeText:
文本变化时
onSubmitEditing:
文本被提交时调用
ScrollView:
可滚动的容器, 可以垂直和水平滚动(通过 horizontal 控制)
ListView:
功能和 ScrollView 差不多,但性能更好 适合于长列表且元素可删可增
并不立即渲染所有内容,优先渲染屏幕可见元素
必须的属性 :dataSource (列表的数据源)  
renderRow
( 逐个解析数据源你中的数据)
rowHasChanged 
函数  
XMLHttpRequest:
( ajax )
fetch
(‘ URL ’)
fetch
(‘ url , {method: get ’, headers:{} , body:JSON.stringify ( {} ) } ) //body 为向服务器发送的数据,如果服务器无法识别,则写为 body: key=value&key=value
fetch
(‘http://facebook.github.io/react-native/movies.json)
.then
( ( response ) => response.json () )       // response (请求到的数据)转为 json 格式       还有 response.text ()
.then
( ( responseJson ) => { return responseJson.movie ; } )       // json movie   return 出去
.catch
( ( error ) => { console.log (‘ error ’) } )
asyns | await
语法,异步的完美解决方案
ios
默认阻止所有非 https 的请求
颜色 : 所有的都和 css 一样, #aaa  rgb rgba transparent …
图片 : (‘ ./ my-icon.png ’) } />  //  ./ 不能少,使用 require 时必须重启 server
require
后面的必须是字符串,但是 {} 里的可以说变量名
如果你有 my-icon.android.png my-icon.ios.png 会自动识别
使用 @2x  @3x 这样的后缀,为不同的精度提供图片   [email protected]   [email protected]
使用混合 app 的图片 | 网络图片 :
app_icon }} style={ { width: 40 ; height: 40 }} /> // 必须指定尺寸
自动制定尺寸 :
require
(‘ image!x ’) 例如 : require (‘ image!logo ’)   // 引用 react.Imageset/logo.png
精灵图 : something.jpg crop: { left:10 , top:50 , width:20 , height:40} }} />
背景图嵌入 :
return
(

inside

)
touch
事件 :
事件名 }>
点击组件 :
TouchableHeightlight :
用户点击时背景变暗 // 常用,但效果不明显
TouchableNativeFeedback :
用户按下类似涟漪效果   // Android
TouchableOpacity :
用户按下降低按钮的透明度,不会改变背景色   // 常用,用这个
TouchableWidthoutFeedback :
用户点击时不产生任何效果
触摸状态 :
onPress :
点击
onLongPress :
长按
pagingEnabled :
滑动   // 配合 ScrollView 组件使用(可水平垂直) | ViewPagerAndroid (水平)
maxmumZoomScale | minmumZoomScale :
双指缩放   // 配合 ScrollView 使用
动画 : (比较麻烦,完了再看看)
Animated:
创建更精细的交互控制的动画,仅关注动画的输入和输出声明,动画事件,响应当前动画值
LayoutAnimation:
在全局内创建和更新动画,常用来更新 flexbox 布局, Android 中不好用
无障碍功能 :
accessible
( iOS | Android ) : 单独加在标签内
accessible = {true}  :
只可选中父元素,不能选中子元素
accessibilityLabel
( ios | android ) 最好加上,让用户知道内容 // 用法和上面类似,后面为字符串
accessibilityTraits
( ios ) 告诉用户选择的是标签 | 按钮 | 头部
定时器 :
setTimeout | clearTimeout : 
竟可能快的执行
setInterval | clearInterval :
setImmediate | clearImmediate :
在当前 js 执行结束的时候执行,在发送数据到原生之前, 如果在其回调内部还有 setImmediate ,则紧接着立即执行,而不会再调用之前等原生代码 .
promise
的实现就是使用了 setImmediate 实现的
requestAnimationFrame | cancelAnimationFrame :
在每帧刷新之后执行一次
InteractionManager :
确保在执行工作之前所有的交互和动画已经处理完毕,提高效率,同时支持注册和清除动画
TimerMixin:
解决卸载组件后,计算器仍被激活的问题,可以避免很多 BUG , 属于 ES5 语法, es6 需要清除
需要单独安装   //npm i react-timer-mixin --save
组件加
var TimerMixin = require
(‘ react-timer -mixin ’)   // 组件外
mixins:
[ TimerMixin ],然后所有的计算器前面都加上 this.   // 组件内
setNativeProps:
(方法) 用于不得不频繁刷新但又遇到性能瓶颈的时候,不该常使用,用来做连续的动画
TouchableOpacity:
(组件) 内部使用了 setNativeProps 方法
单元测试 : cd react-native
./scripts/run-android-local-unit-test.sh
集成测试 :cd react-native
npm install
./scripts/run-android-local-integration-test.sh
导航器对比 :
Navigator:
适合于刚开始接触
使用纯 JavaScript 实现,在 renderScene 渲染不同的组件,用 configureScene 配置场景和动画
有很多方法,参 Navigator ;
NavigatorIOS:
针对 iOS 平台开发 , 基于 Apple 的组件开发 ,
NavigationExperimental:
想要更好的管理导航栈
性能 :
console.log
语句是否全部移除 : npm install babel-plugin-transform-remove-console --save
然后新建一个文件
开发模式( dev = true ) :
缓慢的导航器( Navigator )切换 :
ListView
初始化太慢
使用 transform: [ { scale } ]来改变图片尺寸
升级 :
时刻保持最新版本
react-native : npm info react-native
查看最新版本
更新 react-native   node  react  升级项目模板
iOS
Android 代码区分 :
放到不同的文件夹里 在名称上加以区分
特定平台扩展名 :
aaaa.ios.js | aaaa.android.js    //
命名后就可以在其他组件中直接应用 aaaa ,无需判断平台
Platform.select
()   // 返回对应平台的值
平台模块 : ( Platform )
如果组件只有一小部分代码需要一句平台定制,使用 Platform
import { Platform
, SrtleSheet } from react-native ;
var styles = StyleSheet.create
( {
height:
( Platform.os === ios ) ? 200 : 100 ,
}
);
检测 Android 版本 :
使用 Platform 检测 Android 版本
手势响应系统 :
TouchableHighlight:
做简单按钮或网络连接
Touchable:
生命周期 :
原生模块 :
Toast
模块 :Android 在屏幕下方弹出,自动消失的弹窗


组件 :
ActivityIndicator:
显示圆形的 loading 加载符                       // 通用
属性 :animating (是否显示指示器)
color
(前景颜色)  
size
(指示器大小 :small-20 , large-36 )
DatePickerIOS:
iOS 平台渲染一个日期 / 时间选择器         //iOS
必须监听 onDateChange 回调并且及时更新 date 属性,否则用户的修改不起作用
属性 : date (当前被选中的日期)
maximumDate
(可选的最大日期)
minimumDate
(可选的最小日期)
minuteInterval
(可选的最小的分钟单位)
mode
(选择器模式)
datetime : 星期 上午 / 下午
date :
time 上午 / 下午
onDateChange
(用户修改时的回调)
timeZoneOffsetInMinutes
(时区差 单位 : 分)
Button:
属性 : accessibilityLabel ()
color
( ios: 文本颜色; Android: 背景色)
disabled
(若为真,则组件所有交互全部失效)
onPress
(点击 button 触发的函数)
title
(文本内容)
方法 :
DrawerLatoutAndroid:
用于导航切换,子视图会成为主视图,初始不可见     // Android
属性 :drawerLockMode (设置子导航的锁定模式)
unlocked:
默认,相应打开和关闭的手势操作
locked-closed :
保持关闭,不可打开
locked-open :
保持打开,不可关闭
不管是哪种状态,都可以用 openDrawer 打开 , closeDrawer 关闭
drawerPosition
(指定子导航从哪边滑入) DrawerConsts.DrawerPosition.Left |  DrawerConsts.DrawerPosition.Right
drawerWidth
(子导航的宽度)
keyboardDismissMode
(在拖拽过程中是否隐藏软键盘)     none: 默认,不隐藏   |   on-drag: 隐藏
onDrawerClose
(子导航关闭的回调)
onDrawerOpen
(子导航打开的回调)
onDrawerSlide
(子导航产生交互的回调)
onDrawerStateChange
(子导航的状态变化的回调) 状态 :
idle
(空闲) , 表示子导航无任何交互事件
draggle
(拖拽中) , 交互中
settling
(停靠中) , 刚刚结束导航条的交互
renderNavigationView
(渲染一个可以从屏幕一边拖入的导航视图的回调,函数体为子导航的内容)
Image:  Android
不支持 GIF webp 格式的图片,需要做一些配置     // 通用
属性 : onLayout (当元素挂在或布局改变的回调)   参数 : {nativeEvent: {latout: {x , y , width , height }}}
onLoad
(加载成功的回调)
onLoadEnd
(加载结束的回调 , 不管成功或失败)
onLoadStart
(加载开始的回调)
resizeMode
(当组件尺寸和图片尺寸不一时如何调整,组件必须给定尺寸)   style 里定义 : resizeMode:Image.resizeMode.cover
cover :
等比例缩放,不留空白
contain :
等比例放大,只要一边放大至正好,可能留有空白
stretch :
改变高宽比,占满这个组件
source { { uri :
URL 地址’ }}  (图片地址 : 可以是本地的也可以是网上的)
style { {
属性 : 属性值 }} (图片 css 样式)
testID
(唯一的标识符,用来在脚本中识别元素)
( iOS ) accessibilityLabel  (用户与图片交互时,会朗读文字)
( iOS ) accessible (为真时表示启用了无障碍功能)
( iOS ) blurRadius (模糊半径)
( iOS ) capInsets (九宫格)
( iOS ) defaultSource (一个静态图,在真正的图片下载中显示)
( iOS ) onError (加载错误的回调 , 参数 : {nativeEvent : {error} } )
( iOS ) onProgress (加载过程中不断调用的函数 , 参数 : {nativeEvent : {loaded , total} } )
方法 : Image.getSize ( uri:str , success : ( width , height ) => void , failure : ( error : any ) => void )   在图片显示前获取图片宽高(单位 px )  
Image.prefetch
( url : str )     预加载一个远程图片
KeyboardAvoidingView:
解决软键盘弹出时对视图的遮挡 , 本组件会自动调整自身的定位
属性 : behavior (控制 height  |  position  |  padding 这三者中的一个属性 , 只能选一个)   // str
contentContainerStyle
(如果 behavior 设为 position , 会生成 View 容器 , 用于定义这个容器的样式)
KeyboardVerticalOffset
(用来修复应用距屏幕顶端的距离)
方法 :relativeKeyboardHeight ( keyboardFrame )
onKeyboardChange
( event )
onLayout
( event )
ListView:
垂直的列表 ,
属性 :ScrollView props (可以使用 scrollView 的所有属性)
dataSource
( ListView.DateSource 实例 , 列表依赖的数据源)
initialListSize
(指定组件加载时显示多少数据 , 利于优化性能)   //number
onChangeVisibileRows
(当可见的行集合发生变化时的回调)
onEndReached
(列表滚到底部不足临界值是的回调 | 第一次渲染时数据不足一屏时调用)
onEndReachedThreshold
(临界值 , 单位 : 像素)     // number
pageSize
(每次时间循环渲染的行数)     // number
removeClippedSubviews
(用于提升大列表的滚动性能)     //bool
renderFooter
(如果开启 , 页头和页脚在每次渲染时候更新)     //fn
renderRow
(从 Data source 中接受一条数据 , 以及她和他所在的 sectionID )
renderScrollComponent
(返回一个可滚动 ScrollView 的回调)
renderSectionHeader
(如果设置此函数,则为每一小节提供一个粘性标题)
renderSeparator
(若有 , 在每一行下面渲染一个组件 , 小节标题上面除外)
scrollRenderAheadDistance
(当一行接近屏幕多少范围内时开始渲染这一行)   //number
( iOS ) stickyHeaderIndices (决定让那个元素固定在屏幕最顶端)   例如 :stickyHeaderIndices = { [ 0 ] }  // 让第一个固定在最顶端 , 这个属性和 horizontal = {true} 一起使用
方法 :getMetrics ()   导出一些用于性能分析的数据
scrollTo
()   滚动到指定的 x , y 的地方 , 可以指定是否加上动画
ListView.DataSource :
比较 listView 原始数据和传入的新数据,追加数据时需要 concat ,不能用 push
方法 :constructor: 四个参数 :getRowData , getSectionHeaderData , rowHasChanged , sectionHeaderHasChanged
cloneWithRows
() : 改变数据时用
cloneWithRowsAndSections
() : 可额外指定 sectionIdenttities
getRowCount
()
rowShouldUpdate
() : 返回值表明某行数据是否已变更,需要重新渲染
getSectionLengths
() : 返回一个数组,包含每个 section 的行数量
getSectionHeaderData
() : 获取 section 标题数据
MapView :
地图组件(用 react-native-maps 代替)
属性 : ( iOS ) annotations (地图上的标注点,可以带有标题和副标题)
( iOS ) legalLabelInsets (地图上标签的合法范围,默认左下角)
( iOS ) mapType (要显示的地图类型)   // standard- 标准道理     satellite- 卫星视图   hybird- 卫星视图并附带道路和感兴趣的点标记
( iOS ) maxDelta (可以被显示的最大区域尺寸)  
( iOS ) minDelta (可以被显示的最小区域尺寸)
onAnnotationPress
(用户点击地图上的标注点的回调)   // 多次
onRegionChange
(用户拖拽地图时持续调用)   // 一次
onRegionChangeComplete
(用户停止拖拽的回调)   // 一次
pitchEnable
( true: 地图会倾斜 ;   false: 地图不会倾斜)   // 前提 : 关联一个有效的镜头
region
(地图显示的区域)   // 中心点坐标和范围确定
rotateEnable
( true: 可旋转地图     false: 不可旋转地图)   // 前提 : 关联一个有效的镜头
scrollEnable
( true: 可改变地图显示区域     false: 不可改变)   // 默认 :true
showUserLocation
( true: 应用请求用户的位置并聚焦到这个位置   false : 默认,不会请求)   // 需要在 Info.plist 中增加 NSLocationWhenInUseUsageDescription 字段。否则它会没有任何提示而直接失败
zoomEnabled
( true: 默认,可旋转 / 缩放地图   false: 不可)
( iOS ) showsCompass ( true: 默认,显示指南针     false: 不显示)
( iOS ) showsPointsOfInsterest ( true : 默认,显示感兴趣的点     false: 不显示)
Mddal:
可以将编写的视图覆盖在原生视图上
Navigator:
在不同的页面直接的切换
方法 : (前缀 :navigator. )
getCurrentRoutes
()   // 获取当前栈里的路由,就是 push 进来,没有 pop 掉的
jumpBack
()   // 跳回之前的路由
jumpForward
()     // 跳到下一个路由
jumpTo
( route )   // 跳到已有的场景并且不卸载
push
( route )   // 增加一个新场景并且跳转过去
pop
()   // 从尾部删除一个场景
replace
( route )   // 用一个新的场景替换当前的
replaceAtIndex
( route , index )   // 替换掉指定的场景
replacePrevious
( route )   // 替换掉之前的场景
resetTo
( route )   // 跳转到新的场景,并且重置整个路由栈
immediatelyResetRouteStack
( routeStack )       // 用新的路由数组来重置路由栈
popToRoute
( route )   //pop 到路由指定的场景,在整个路由栈中,处于指定场景之后的场景将会被卸载
popToTop
()     //pop 到栈中的第一个场景,卸载掉所有的其他场景
属性 :initialRoute (初始化路由)   // 必须是 initialRouteStack 中的一个路由,而且是最后一项
initialRouteStack
(初始化路由集合)
navigatorBar
(提供一个场景切换时保持的导航栏)
onDidFocus
(导航切换或初始化之后的回调)
onWillFocus
(会在导航切换之前调用)
renderScene
(必须,用来渲染指定路由的场景)
sceneStyle
(应用在每个场景的样式上)
Picker:
iOS Android 上渲染原生选择器 (通过滑动选择,可以是多级)   // 比如三级联动
属性 :onValueChange (某一项被选中时的回调)   // 两个参数 : itemValue: 被选中项的 value 属性 ; itemPosition : 被选中项在 Picker 中的索引
selectedValue
(默认选中的值)
testID
(用于在端对端测试中定位此视图)
( Android ) enabled ( true: 可以选择   false: 禁用选择器)
( Android ) mode (用户点击选择器,呈现形式)     // dialog - 对话框形式     dropdown - 下拉框形式
( Android ) prompt (弹出的对话框标题)
( iOS ) itemStyle (应用在每项标签上的样式)
ProgressBarAndroid:
正在加载(圆环)
ProgressBarIOS:
正在加载(横线)
RefreshControl :
ScrollView ListView 内部,为其提供下拉刷新的功能 , ScrollView 位于顶部时,此时下拉会触发 onRefresh 事件
属性 :onRefresh (视图开始刷新时调用)   //fn
refreshing
(是否在刷新时显示指示器)
( Android ) colors (指定至少一种颜色用来绘制刷新指示器)
( Android ) enabled (是否开启指示器)
( Android ) progressBackgroundColor (指定刷新指示器的背景色)
( Android ) size (指定刷新指示器的大小)
( Android ) progressViewOffset (指定刷新指示器的垂直起始位置( top offset ))
( iOS ) tintColor (指定刷新指示器的颜色)
( iOS ) title (刷新器下面的颜色)
ScrollView :
可以横向和纵向滚动 , 同时还集成了触摸锁定的 ‘响应者’ 系统
// ScrollView
必须有一个确定的高度才能工作,高度为所有父容器高度的和
//
在视图栈任意一个位置都要加 { flex : 1 } , 否则报错
属性 : contentContainerStyle (所有子视图都会应用到这个样式)
horizontal
( true : 水平滚动     false: 默认,垂直滚动)
keyboardDismissMode
(用户拖拽滚动视图的时候,是否要隐藏软键盘)
none :
默认,拖拽时不隐藏软键盘
on-drag :
当拖拽开始的时候隐藏软键盘
interactive :
软键盘伴随拖拽操作同步地消失,并且如果往上滑动会恢复键盘,   // Android 不支持
onContentSizeChange  :
ScrollView 内部可滚动内容的视图发生变化时调用 , 参数为内容视图的宽和高 , 通过绑定在内容容器上的 onLayout 来实现
onScroll :
在滚动的过程中,每帧最多调用一次此回调函数
refreshControl :
用于为 ScrollView 提供下拉刷新功能 , 在这个属性内加载 refreshControl 组件
removeClippedSubviews : true:
可大幅提升滚动性能
showsHorizontalScrollIndicator :
显示一个水平的滚动条
showsVerticalScrollIndicator :
显示一个垂直的滚动条
( Android ) endFillColor : 视图之外的内容用颜色填充 , 高级优化技巧
( iOS ) alwaysBounceHorizontal :    true: 即使内容宽度小于视图宽 , 也可以弹性拖动
( iOS ) alwaysBounceVertical  :    true: 即使内容高度小于视图宽 , 也可以弹性拖动
………
方法 :scrollTo ( {x:0 , y:0 , animated:true} )     // 滚动到指定的 x , y 偏移处,   animated true 时平滑移动
SegmentedControlIOS :
Slider :
一个进度条   可手动拖拽最大为 1
StatusBar :
设置手机顶部状态栏的
Text :
设置文本的
属性 :numberOfLines : 规定一个行数,当文本超过时剪切  
onLayout :
当挂载或布局发生变化时的回调
onPress :
当文本被点击的回调
selectable:
觉得用户是否长按选择文本,以便复制和粘贴
testID:
用来在端到端测试中标记这个视图
( iOS ) suppressHighlighting : false (默认,文本被按下时会有一个灰色的、椭圆形的高光)   true: 不会有效果
嵌套文本 : Text 组件可以嵌套使用
容器 : Text 组件内部不能使用 flex 布局 , 只能采用文本布局 , 文本必须放到 Text 组件内 ,
TextInput :
输入框
属性 :autoCapitalize : 控制 TextInput 是否要自动将特定字符切换为大写
blurOnSubmit :
单行 : true (默认,失焦并提交)
           
多行 : false (默认,按下回车,换行)
placeholder :
文本框初始值
editable :  true:
默认,文本框可修改
keyboardType  :
决定弹出何种软键盘     //default: 中文     numeric: 纯数字键盘       email-address: 英文
maxLength :
限制文本框中最多的字符数
multiline : true
(文本框可输入多行文字)     false (默认,单行)
onChangeText :
当文本框内容变化时调用此回调函数。改变后的文字内容会作为参数传递
onEndEditing :
当文本输入结束后调用此回调函数
onSubmitEditing :
当软键盘的 确定 / 提交 按钮被按下的时候调用此函数。如果 multiline={true} ,此属性不可用
secureTextEntry : true
(用于输入密码)   false (默认,显示输入内容)
selectTextOnFocus : true
(获得焦点, input 里所有内容默认选中)     false (默认,不选择)
( Android ) numberOfLines : 设置输入框的行数。当 multiline 设置为 true 时使用它,可以占据对应的行数
方法 :isFocused ()   返回值表明当前输入框是否获得了焦点
clear
()   清空输入框的内容
ToolbarAndroid:
设置头部( icon   title   icon )
属性 :actions : 配置右边 icon 点开的参数
View:
最基础的组件,相当于 div
ViewPagerAndroid :
一个允许左右翻页的容器 , 每一个子容器( View )都是单独的一页 , 并且会被拉伸填满这个父容器
属性 :initialPage : 初始化显示第几页  
keyboardDismissMode :
拖动时候是否让软键盘消失     // none: 默认,不会消失     on-drag: 拖拽开始消失
onPageScroll :
在页面切换时执行的回调
onPageScrollStateChanged :
页面滑动状态变化时的回调
状态 : idle : 没有任何交互
dragging :
拖动中
settling :
意味着当前页面发生过交互,且正在结束开头或收尾的动画
onPageSelected :
页面切换完成后的回调
scrollEnabled : true
(默认,可滚动)   false (禁止滚动)
WebView :
创建一个原生的 webView , 可以用于访问网页
属性 : ( iOS ) allowsInlineMediaPlayback : 指定 HTML5 视频是在网页当前位置播放还是使用原生的全屏播放器播放。 默认值为 false
( Android ) domStorageEnabled : 指定是否开启 dom 本地存储
source :
指定在新页面的 html 内容   |  url   // str
injectedJavaScript :
在网页加载前设置一段 js 代码
mediaPlaybackRequiresUserAction :
设置页面中的 HTML5 音视频是否需要在用户点击后再开始播放。默认值为 false
onLoadStart
onLoadEnd
onLoad
onError
renderError :
设置一个函数,返回一个视图用于显示错误
renderLoading :
设置一个函数,返回一个加载指示器
API
ActionSheetIOS:
ios 显示一个弹出框,
方法 : showActionSheetWithOptions ()   显示一个弹出框,包含删除和取消
showShareActionSheetWithOptions
()   显示一个分享弹出框
AdSupportIOS:
方法 : getAdvertisingId ( successCB , errorCB )
getAdvertisingTrackingEnabled
( successCB , errorCB )
Alert :
( Android )启动一个提示对话框,包含对应的标题和信息
方法 : Alert.alert ( title ( str ) , message ( str ) , [ {text: 'OK' , onPress: () => console.log ( 'OK Pressed!' ) } , { … } , { … } ])   // 多个按钮
AlertIOS:
方法 :alert () 弹出警示
prompt
() 一个输入框和两个按钮
Animated:
动画
默认 VIew , Image , Text 是可以动画化的 , 自定义的可以用 createAnimatedComponent
插值函数很重要,可以映射范围, interpolate
方法 :
decay
() 缓冲动画效果
timing
() 曲线动画效果 ,
spring
()   Spring 动画,在 tovalue 值更新的同时跟踪当前的速度,确保动画连贯
add
() 将两个动画值相加,得到一个新的动画
multiply
() 将两个动画值相乘,得到一个新的动画值
delay
() 指定一个延迟时间执行动画
sequence
() 按顺序执行一个数组里的动画,
parallel
() 同时开始一个数组里的全部动画,如果有一个停止了,其余的也停止
stagger
() 动画数组里的可能会同时执行,用来制作拖尾效果
event
()
createAnimatedComponent
() 使得一个 react 组件支持动画,用它来创建 Animated.View
属性 :
Value: 
new Animated.Value ( 0 ) 来初始化,驱动动画
ValueXY:
表示一个 2D 值得类,用来驱动 2D 动画,例如拖动
AppRegistry: RN
应用的入口,用于注册应用
方法 :
registerConfig
()  
registerComponent
()   注册组件
registerRunable
()  
getAppKeys
()
runApplication
()
unmountApplicationComponenAtRootTag
()
AppState :  android
告诉你应用当前在前台还是后台
AsyncStorage :
用来替代 localStorage , 对于 APP 来说是全局的
方法 : 推荐使用中文网里的组件 : https://github.com/sunnylqm/react-native-storage/blob/master/README-CHN.md
BackAndroid :
监听硬件的 back 键操作 , 如果没有绑定任何函数或监听函数的返回值不是 true , 则退出应用
方法 : BackAndroid.exitAPP ()  
addEventListener
()  
removeEventListener
()
CameraRoll :
提供访问本地相册的功能
.saveImagewithTag
( url )     保存一个图片到相册
.getPhotos
()     返回一个带有图片标识符对象的 Promise
Clipboard :
在剪切板中读取 / 写入内容
.getString
()   获取剪切板的文本内容
.setString
( str )   设置剪切板的内容
DatePickerAndroid :
打开一个标准的安卓日期选择器
.open
( option )   //  打开     option:date (默认显示的日期)   minDate (可选的最小日期)     maxDate (可选的最大日期)
//
选好后返回一个包含年月日等信息的 promise
.dateSetAction
()   // 已选中一个日期
.dismissedAction
()     // 取消对话框
Dimensions:
用来获取屏幕的宽高
Geolocation:
用来获取地理位置信息
方法 :
getCurrentPosition
()   成功的回调中会包含最新的位置信息
watchPosition
()   持续的监听位置,每当位置发生变化调用 success 回调
clearWatch
()
stopObserving
()
ImageEditor:
根据指定的 URL 参数剪裁对应的图片,成功后保存在 ImageStore 里面
ImageStore: 
属性 :
hasImageForTag
()   检查 ImageStorage 中是否包含 URI 数据,仅限 IOS
removeImageForTag
()   imageStorage 里面删除图片   仅限 IOS
InteractionManager:
将一些耗时较长的工作安排到所有动画和互动完成之后执行,保证了 js 动画的流畅
.runAfterInteractions
( CB )   安排一个函数在所有互动和动画结束之后运行
.createInteractionHandle
( CB ) 通知管理器某个动画或互动开始了
.clearInteractionHadle
( CB ) 通知管理器某个动画或互动结束了
.setDeadline
( number ) 设定一个值,使用 setTimeout 挂起所有没执行的任务,到达时间后开始执行任务
Keyboard:
控制键盘相关的事件
LayoutAnimation:
当布局变化时,自动将试图运动到新的位置上
.configureNext
() 计划下一次布局要发生的变化 , 然后调用 setState
.create
()   用来创建 configureNext 所需的 config 参数的辅助函数
Linking:
用来于穿如何穿出的 app 链接进行交互
.addEventListener
()   监听 Linking 的变化
.removeEventListener
()   删除一个时间处理函数
.openURL
()   打开一个新的 URL    //http:// 不能省略
.canopenURL
()   判断设备上是否安装有能打开此链接的应用     //   http:// 不能省略
.getInitialURL
()   如果应用是被一个连接调起的,则返回相应的链接地址
NativeMethodsMixin:
提供了一些用于访问底层原生组件的方法, 不能再复合组件中使用
.measure
( CB ) 计算指定视图在屏幕上显示的位置和尺寸,返回 :x , y , width , height , pageX , pageY
.measureLayout
() 计算相对于祖先节点的位置和尺寸
.setNativeProps
() 直接发送属性到原生代码
.focus
() 请求聚焦指定的输入框或者视图
.blur
() 移除指定输入框或者视图的焦点
NetInfo:
可以获知设备联网或者离线的状态信息
方法 : isConnectionExpensive () 仅限 android , 用于判断当前活动的连接是否计费
isConnected
() 异步判断当前设备是否联网
addEventListener
() 在网络状况和类型发生变化时的回调
removeEventListener
() 移除
fetch
()   返回一个 promise ,用于获取当前的网络状况 / 类型
isConnectionExpensive
()
属性 : isConnected   只能知道是够联网,具体什么网络类型还得用 fetch ()
PanResponder: 
可以将多点触摸协调成一个手势 , 可以使一个简单的单点触摸接受更多的触摸操作
方法 :create ()  
PermissionsAndroid: 
可以访问 Android 6.0 开始提供的权限模型,弹出一些危险的权限请求给客户
.checkPermission
()   返回用户是否授权过得布尔值
.requestPermission
()   弹出提示框向用户请求某项权限,返回值表明用户是否同意了权限请求
PixelRatio: 
访问设备像素密度的方法
方法 :get () 返回像素的密度
getFontScale
()   返回字体大小的缩放比,
getPixelSizeForLayoutSIze
()   将一个布局尺寸( dp )转为像素( px )
PushNotificationIOS: 
处理应用的推送通知,包括权限控制以及应用图标上的角标数
方法 :presentLocalNotification () 立即产生一个本地通知
scheduleLocalNotification
()   计划一个本地通知,在将来进行提示
cancelAllLocalNotification
() 取消所有已计划的本地通知
setApplicationIconBadgeNumber
() 设置在手机主屏幕应用图标上的角标数(未读消息数)
getApplicationIconBadgeNumber
()   获取角标数
addEventListener
()   监听远程或本地的推送通知,不管应用在全台还是后台运行
requestPermissions
() ios 系统请求统治权限,向用户展示及一个对话框,权限类型 : alert | badge | sound
abandonPermissions
()   注销所有从苹果推送服务收到的远程消息
checkPermissions
()   检查哪些通知被开启,
StyleSheet:
定义 css 样式
方法 :create ()
属性 :hairlineWidth :  常亮,定义当前平台的最细宽度
TimePickerAndroid:
打开一个标准的 Android 时间选择器
.open
( opt )   打开时间选择器
.timeSetAction
()   已选中一个时间
.dismissedAction
()   取消对话框
ToastAndroid: 
Android 设备上显示一个悬浮的提示信息
方法 :  show ( message:str , duration:number )  
属性 :  SHORT 持续显示短时间
  LONG 
持续显示长时间
Vibration: 
控制设备的震动
方法 :vibrate ()   控制设备的震动
cancel
()   停止震动
布局样式属性
flex:flex
布局
flex:
alignItems:
alignSelf:
borderBottomWidth:
flexDirection:
flexWrap:
justifyContent:
marginHorizontal:
相当于同时设置 marginleft marginright
marginVertical:
相当于同时设置 marginTop marginBottom
maxHeight:
minHeight:
paddingHorizontal:
同时设置 paddingLeft paddingRight
paddingVertical:
position: //
absolute   relative   absolute 总是以父元素定位
zIndex:
定位的层级
阴影样式
( ios ) shadowColor:
( ios ) shadowOffset {width:Nbr , height:Nbr}:
( ios ) shadowOpacity:
( ios ) shadowRadius:

你可能感兴趣的:(react-native,reactNative,文档)