diff --git a/Libraries/Components/Touchable/Touchable.js b/Libraries/Components/Touchable/Touchable.js index 99663191b4472a..65a82b1c4fb113 100644 --- a/Libraries/Components/Touchable/Touchable.js +++ b/Libraries/Components/Touchable/Touchable.js @@ -498,14 +498,6 @@ const TouchableMixin = { * Place as callback for a DOM element's `onResponderMove` event. */ touchableHandleResponderMove: function(e: PressEvent) { - // Not enough time elapsed yet, wait for highlight - - // this is just a perf optimization. - if ( - this.state.touchable.touchState === States.RESPONDER_INACTIVE_PRESS_IN - ) { - return; - } - // Measurement may not have returned yet. if (!this.state.touchable.positionOnActivate) { return; @@ -841,7 +833,12 @@ const TouchableMixin = { this._cancelLongPressDelayTimeout(); } - if (!IsActive[curState] && IsActive[nextState]) { + const isInitialTransition = + curState === States.NOT_RESPONDER && + nextState === States.RESPONDER_INACTIVE_PRESS_IN; + + const isActiveTransition = !IsActive[curState] && IsActive[nextState]; + if (isInitialTransition || isActiveTransition) { this._remeasureMetricsOnActivation(); }