`ScrollView` handles gestures while `PanResponder` is active
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 127k
- Forks
- 25.3k
- Avg merge
- 1d 23h
- Merged PRs (30d)
- 4
Description
Description
Coming from react-native@0.73.x without new architecture the ScrollView was locked when the PanResponder was handling the drag interactions. Now in the latest react-native version (0.79.x) the ScrollView scrolls while the PanResponder is active.
Steps to reproduce
- In a
ScrollViewadd aViewwithPanResponder.handlers - Drag the
View
React Native Version
0.79.3
Affected Platforms
Runtime - iOS
Output of npx @react-native-community/cli info
info Fetching system and libraries information...
System:
OS: macOS 15.5
CPU: (14) arm64 Apple M4 Pro
Memory: 1.25 GB / 48.00 GB
Shell:
version: "5.9"
path: /bin/zsh
Binaries:
Node:
version: 18.20.5
path: ~/.nvm/versions/node/v18.20.5/bin/node
Yarn:
version: 1.22.22
path: ~/.nvm/versions/node/v18.20.5/bin/yarn
npm:
version: 10.8.2
path: ~/.nvm/versions/node/v18.20.5/bin/npm
Watchman: Not Found
Managers:
CocoaPods:
version: 1.16.2
path: /Users/colin/.rbenv/shims/pod
SDKs:
iOS SDK:
Platforms:
- DriverKit 24.2
- iOS 18.2
- macOS 15.2
- tvOS 18.2
- visionOS 2.2
- watchOS 11.2
Android SDK: Not Found
IDEs:
Android Studio: 2024.2 AI-242.23339.11.2421.12550806
Xcode:
version: 16.2/16C5032a
path: /usr/bin/xcodebuild
Languages:
Java:
version: 21.0.3
path: /Users/colin/.sdkman/candidates/java/current/bin/javac
Ruby:
version: 3.3.6
path: /Users/colin/.rbenv/shims/ruby
npmPackages:
"@react-native-community/cli":
installed: 18.0.0
wanted: 18.0.0
react:
installed: 19.0.0
wanted: 19.0.0
react-native:
installed: 0.79.3
wanted: 0.79.3
react-native-macos: Not Found
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: true
iOS:
hermesEnabled: true
newArchEnabled: true
Stacktrace or Logs
Running "ReproducerApp" with {"rootTag":1,"initialProps":null,"fabric":true}
MANDATORY Reproducer
https://github.com/buschco/react-native-flow/tree/pan
Screenshots and Videos
https://github.com/user-attachments/assets/dbbd1f69-4175-4a00-945d-7271e3f01312
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the mandatory reproducer and reproduce the iOS behavior using the listed React Native 0.79.3 configuration. Trace the interaction between ScrollView and PanResponder during the drag, comparing it with the reported 0.73.x behavior. Done means the ScrollView remains locked while PanResponder handles the gesture, with a regression test covering the case.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100