react-native 常用组件
基础组件:
View :搭建用户界面的基础组件,相当于html中的div
Text :文本组件props:{
onStartShouldSetResponder:View.props.onStartShouldSetResponder: (event) => [true | false], 其中 event 是一个合成触摸事件---func
accessibilityHint:可访问性提示帮助用户理解当从可访问性标签中看不出结果时,在可访问性元素上执行操作时会发生什么。---string
accessibilityLabel:残章人士读屏器
hitSlop:视图内触发触摸事件的范围,可用于扩大触摸范围---object: {top: number, left: number, bottom: number, right: number}
nativeID:用来从原生类定位这个视图---string
onAccessibilityTap:残章人士双击事件---func
onLayout:组件挂载或者发生变化时调用,参数{nativeEvent: { layout: {x, y, width, height}}}这个事件会在布局计算完成后立即调用一次,不过收到此事件时新的布局可能还没有在屏幕上呈现,尤其是一个布局动画正在进行中的时候。
onMagicTap:双指轻触调用---func
onMoveShouldSetResponder:对于没有设置触摸响应的元素,触摸时是否响应时调用,View.props.onMoveShouldSetResponder: (event) => [true | false], 其中 event 是一个合成触摸事件。---func
onMoveShouldSetResponderCapture:父组件阻止子组件响应touch move事件时调用,View.props.onMoveShouldSetResponderCapture: (event) => [true | false], 其中 event 是一个合成触摸事件。---func
onResponderGrant:触摸高亮,View.props.onResponderGrant: (event) => {},其中 event 是一个合成触摸事件。---func
onResponderMove:用户移动手指时调用,View.props.onResponderMove: (event) => {}, 其中 event 是一个合成触摸事件。---func
onResponderReject:如果当前有响应器在执行,则不会响应另外一个响应,View.props.onResponderReject: (event) => {}, 其中 event 是一个合成触摸事件。---func
onResponderRelease:触摸事件结束时调用,View.props.onResponderRelease: (event) => {}, 其中 event 是一个合成触摸事件。---func
onResponderTerminate:响应被从这个视图上“劫走”了。可能是在调用了 onResponderTerminationRequest 之后,被另一个视图“劫走”了(见 onresponderterminationrequest), 也可能是由于 OS 无条件终止了响应(比如说被 iOS 上的控制中心/消息中心),View.props.onResponderTerminate: (event) => {}, 其中 event 是一个合成触摸事件。---func
onResponderTerminationRequest:其他某个视图想要成为事件的响应者,并要求这个视图放弃对事件的响应时,就会调用这个函数。如果允许释放响应,就返回true。View.props.onResponderTerminationRequest: (event) => {}, 其中 event 是一个合成触摸事件。
accessible:当此属性为 true 时,表示此视图是一个启用了无障碍功能的元素。默认情况下,所有可触摸操作的元素都是无障碍功能元素。
onStartShouldSetResponderCapture:如果父视图想要阻止子视图响应 touch start 事件,它就应该设置这个方法并返回 true。View.props.onStartShouldSetResponderCapture: (event) => [true | false], 其中 event 是一个合成触摸事件。
pointerEvents:auto:视图可以作为触控事件的目标。
none:视图不能作为触控事件的目标。
box-none:视图自身不能作为触控事件的目标,但其子视图可以。类似于你在 CSS 中这样设置:.box-none {
pointer-events: none;
} .box-none * {
pointer-events: all;
} 'box-only':视图自身可以作为触控事件的目标,但其子视图不能。类似于你 。CSS 中这样设置:.box-only {
pointer-events: all;
} .box-only * {
pointer-events: none;
} 因为pointerEvents 不影响布局和外观,我们选择不将pointerEvents放到style中。不管如何,在某些平台,我们需要实现一个className类。是否使用style是一个平台的实现细节。
removeClippedSubviews:这是一个特殊的性能相关的属性,由 RCTView 导出。在制作滑动控件时,如果控件有很多不在屏幕内的子视图,会非常有用。要让此属性生效,首先要求视图有很多超出范围的子视图,并且子视图和容器视图(或它的某个祖先视图)都应该有样式 overflow: hidden。
style:样式
testID:用来在端到端测试中定位这个视图。
}
Image :图片组件
TextInput :文本输入框组件
ScrollView :滚动视图容器
StyleSheet:样式
交互组件(跨平台)
Button:按钮控件
Picket:原生选择器控件
Slider:原生滑动组件
Switch:滑动开关组件
barStyle: 用于设置tabbar的样式
barTintColor:tabbar的背景色
itemPositioning:tabbar填充样式,取值(fill,center,auto),默认auto
style:样式obj
tintColor:当前选中的tabbar icon的颜色
translucent:tabbar的透明度
unselectedItemTintColor:未选中的tabbar icon的颜色
unselectedTintColor:未选中的tabbar icon下面文字的颜色
selected: 当前的item是否被选中--布尔值
badge:角标---number/string
icon:tab的图片(如果使用的是系统图标则设置此项不会生效)--Image.propTypes.source
onPress:点击tab的回调事件,可以通过设置tab,点击改变当前tab选中状态--func
renderAsOriginal:If set to true it renders the image as original, it defaults to being displayed as a template--布尔值
badgeColor:角标的背景色(ios10.有效)
selectedIcon:选中的tab(如果设置了系统图标,则此设置会被忽略,如果空了,图标将被着色为蓝色)---iamge uri
style:tabitem样式--obj
systemIcon:系统默认图标(取值:'bookmarks', 'contacts', 'downloads', 'favorites', 'featured', 'history', 'more', 'most-recent', 'most-viewed', 'recents', 'search', 'top-rated'),如果设置了系统图标,则title为系统文字)
title:tabitem下方文字,如果设置了系统图标,则会被忽略
isTVSelectable:当设置为真时,该视图将是可使用的和可导航的使用苹果电视遥控器。
--------------------------------------------未完待续----------------------------------------
网友评论