Я разрабатываю приложение с React Native, которое должно реагировать на жесты нажатия как можно скорее, потому что через секунду может быть запущено более одного события крана. Нет необходимости в двойном нажатии или перемещении жестов, но нужно позаботиться о одновременных кранах. Я тестировал как onTouchStart
, так и PanResponder | onPanResponderGrant
и видел, что:
-
onTouchStart
запускается дважды, когда два крана одновременно, аonPanResponderGrant
вызывается только один раз. -
onPanResponderMove
запускается, даже если у меня естьonMoveShouldSetPanResponder
доfalse
, и он запускается много раз, когда два крана одновременно, или когда есть несколько отводов за секунду. - Когда несколько отводов выполняются за секунду,
onTouchStart
работает нормально, ноonPanResponderGrant
запускается меньше времени.
Исходя из вышеприведенных причин, я думаю, что лучше использовать onTouchStart
.
Теперь возникает вопрос: Должен ли я использовать onTouchStart
, даже если React Native docs предлагает использовать PanResponder
для multi -touch жесты?
PanResponder примиряет несколько штрихов в одном жесте. Он делает жесты с одним касанием упругими к дополнительным касаниям и может использоваться для распознавания простых жестов с несколькими касаниями.
Или мне что-то не хватает PanResponder
?
Edit:
Кроме того, gestureState.numberActiveTouches
всегда 1, событие, когда два крана одновременно. Я думал, что это может сделать трюк.