1. 触摸事件和手势
1.1. JS
- Event.target 点击的组件 reactTag
 - Event.currentTarget 响应的组件 reactTag
 
var { getInstanceFromNode, getFiberCurrentPropsFromNode } = require('ReactNativeComponentTree');
// 获取按钮 node
var currentTargetNode = getInstanceFromNode(e.currentTarget);
// 获取按钮 props
var currentTargetProps = getFiberCurrentPropsFromNode(currentTargetNode.stateNode);
1.2. Android
1.2.1. TouchEvent
public static TouchEvent obtain(
      int viewTag,
      TouchEventType touchEventType,
      MotionEvent motionEventToCopy,
      long gestureStartTime,
      float viewX,
      float viewY,
      TouchEventCoalescingKeyHelper touchEventCoalescingKeyHelper)
- viewTag 视图 ID
 - touchEventType 触屏事件类型
 - motionEventToCopy 系统的 MotionEvent
 - gestureStartTime 手势开始时间
 - viewX 当前X坐标
 - viewY 当前Y坐标
 
dispatchEvent 发送 TouchEvent
接收 TouchEvent
BackHandler.addEventListener('hardwareBackPress', this._handleBackAction);
1.2.2. PanResponder
1.3. iOS
1.3.1. RCTView
hitTest:withEvent
1.3.2. 关于sendInputEventWithName事件名自定义
- RCTDirectEventBlock:直接事件,这种事件类型作为不影响UI的一些事件,比如“图片加载失败”。
 - RCTBubblingEventBlock:冒泡事件,就和操作DOM一样,影响UI的事件,比如“点击按钮事件”。