view组件

  1. 1. React View 组件
    1. 1.1. 相关属性
      1. 1.1.1. 合成触摸事件
      2. 1.1.2. 属性
        1. 1.1.2.1. hitSlop
        2. 1.1.2.2. onMagicTap
        3. 1.1.2.3. onMoveShouldSetResponderCapture
        4. 1.1.2.4. onResponderMove
        5. 1.1.2.5. accessible

React View 组件

View作为创建ui时最基础的组件,功能上类似于html中的div 标签。但是在reactNative中,View是一个支持flexbox布局、样式、一些触摸处理、和一些无障碍功能(为残疾人士提供的功能)的容器。并且它支持嵌套,可以和多个任意的类型子视图容器搭配使用。无论在什么平台中,view都会对应一个原生视图。无论是uiview、div还是android.viwe.View。

在官方文档中,提示开发者:
View的设计初衷是和styleSheet 搭配使用,这样可以使用代码更清晰并且获得更高的性能。尽管内联样式也同样可以使用。

相关属性

合成触摸事件

用于View相应属性(例如: omResponderMove),合成触摸事件采用一下的格式:

  • nativeEvent
    • changedTouches - 从上一次事件以来的触摸事件数组
    • identifier - 触摸事件的id
    • locationX - 触摸事件相对元素位置的X坐标
    • locationY - 触摸事件相对元素位置的Y坐标
    • pageX - 触摸事件相对根元素位置的X坐标
    • pageY - 触摸事件相对根元素位置的Y坐标
    • target - 接收触摸事件的元素ID
    • timestamp - 触摸事件的时间标记
    • touches - 屏幕上所有当前触摸事件的数组

属性

hitSlop

定义触摸事件在距离视图多远以内时可以触发的。

触摸范围不会扩展到父视图之外,另外如果触摸到两个重叠的视图, Z-index高的元素会优先。

类型 必填
object: {top: number, left: number, bottom: number, right: number}

onMagicTap

当 accessible 为 true 时,如果用户做了一个双指轻触(Magic tap)手势,系统会调用此函数。

类型 必填
function

onMoveShouldSetResponderCapture

如果父视图想要阻止子视图响应 touch move 事件时,它就应该设置这个方法并返回 true View.props.onMoveShouldSetResponderCapture: (event) => [true | false], 其中 event 是一个合成触摸事件。

类型 必填
function

onResponderMove

当用户正在屏幕上移动手指时调用这个函数。

View.props.onResponderMove: (event) => {}, 其中 event 是一个合成触摸事件。

类型 必填
function

accessible

当此属性为 true 时,表示此视图是一个启用了无障碍功能的元素。默认情况下,所有可触摸操作的元素都是无障碍功能元素。

类型 必填
bool

注:还有其他相关使用属性。以上内容整理自官网
官网链接:https://reactnative.cn/docs/view.html