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:當設置為真時,該視圖將是可使用的和可導航的使用蘋果電視遙控器。
--------------------------------------------未完待續----------------------------------------