@KnightForce

React Native. Правильно ли понял Gesture Responder System (Система ответов на жесты)?

Поправьте пожалуйста, где я неправ.

Не разобрался только как и в каком месте вешать эти обработчики.
PanResponder выходит более высокоуровневая абстракция?

И где обработчика одиночного нажатия или двойного (можно самому написать, но все-же)?

Беру любой элемент.
Если View.props.onStartShouldSetResponder и/ или View.props.onMoveShouldSetResponder возвращают true, то вызывается View.props.onResponderGrant при успехе или View.props.onResponderReject при неудаче.

Если прошло успешно (тогда View.props.onResponderGrant вернет true), то будут срабатывать события, на которые можно повесить обработчики (или их можно повесить только при возвращенном true, а не в любом случае, хоть они и не отреагируют???).

Обработчики:

View.props.onResponderMove - движение пальца по экрану.
View.props.onResponderRelease - палец отпущен.
View.props.onResponderTerminationRequest - при всплытии - разрешать ли дальнейшее всплытие.
View.props.onResponderTerminate - событие пришло при всплытии (дошла очередь).

View.props.onStartShouldSetResponderCapture - не допускать перехвата начала нажатия.
View.props.onMoveShouldSetResponderCapture - не допускать перехвата события движения.

changedTouches - массив событий после последнего события (это как???)
identifier - id тач-события.
locationX - позиция пальца относительно элемента на который нажат по X
locationY - позиция пальца относительно элемента на который нажат по Y
pageX - позиция пальца относительно родительского элемента X
pageY - позиция пальца относительно родительского элемента Y
target - Элемент на котором событие
timestamp - как быстро вызвался обработчик - сработало событие
touches - событие всех событий в данный момент (например, один палец нажимает, другой двигается по экрану)
  • Вопрос задан
  • 547 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы