Skip to content

onResponderMove is not called for multi-touch #22680

@rudyryk

Description

@rudyryk

Environment

React Native Environment Info:
  System:
    OS: macOS High Sierra 10.13.6
    CPU: x64 Intel(R) Core(TM) i7-4770HQ CPU @ 2.20GHz
    Memory: 522.75 MB / 16.00 GB
    Shell: 3.2.57 - /bin/bash
  Binaries:
    Node: 9.11.2 - /usr/local/bin/node
    Yarn: 1.9.4 - /usr/local/bin/yarn
    npm: 6.4.1 - /usr/local/bin/npm
    Watchman: 4.9.0 - /usr/local/bin/watchman
  SDKs:
    iOS SDK:
      Platforms: iOS 12.1, macOS 10.14, tvOS 12.1, watchOS 5.1
  IDEs:
    Android Studio: 3.0 AI-171.4443003
    Xcode: 10.1/10B61 - /usr/bin/xcodebuild
  npmPackages:
    react: 16.5.0 => 16.5.0 
    react-native: ^0.57.8 => 0.57.8 
  npmGlobalPackages:
    react-native-cli: 2.0.1

Description

With multiple touches callback for onResponderMove is never called for view. Also onResponderRelease is not called for multi-touch gesture.

Reproducible Demo

class ResponderView extends Component {  
  render() {
    return (<View
      onStartShouldSetResponderCapture={
        (evt) => true
      }
      onResponderGrant={
        (evt) => {
          console.log('onResponderGrant', evt.nativeEvent.touches.length);
        }
      }
      onResponderReject={
        (evt) => {
          console.log('onResponderReject', evt.nativeEvent.touches.length);
        }
      }
      onResponderMove={
        (evt) => {
          console.log('onResponderMove', evt.nativeEvent.touches.length);
        }
      }
      onResponderRelease={
        (evt) => {
          console.log('onResponderRelease', evt.nativeEvent.touches.length);
        }
      }
    >
      <Text>Yo</Text>
    </View>);
  }
}

Log output for single touch & move:

2018-12-17 13:39:08.633 [info][tid:com.facebook.react.JavaScript] 'onResponderGrant', 1
2018-12-17 13:39:08.649 [info][tid:com.facebook.react.JavaScript] 'onResponderMove', 1
2018-12-17 13:39:08.665 [info][tid:com.facebook.react.JavaScript] 'onResponderMove', 1
2018-12-17 13:39:08.682 [info][tid:com.facebook.react.JavaScript] 'onResponderMove', 1
2018-12-17 13:39:08.700 [info][tid:com.facebook.react.JavaScript] 'onResponderMove', 1
2018-12-17 13:39:08.715 [info][tid:com.facebook.react.JavaScript] 'onResponderRelease', 0

Log output for two touches & move:

2018-12-17 13:38:49.364 [info][tid:com.facebook.react.JavaScript] 'onResponderGrant', 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    BugComponent: ViewStaleThere has been a lack of activity on this issue and it may be closed soon.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions