react-navigation / react-navigation/react-navigation
Using inverted FlatList inside presentation="modal" Stack screen causes gestures conflicts and incorrect behaviour on iOS
Open
Nobody has claimed this yet.
bug
platform:ios
repro provided
- Dominant language
- TypeScript
- Stars
- 24.5k
- Forks
- 5.1k
- Avg merge
- 1d 5h
- Merged PRs (30d)
- 18
Description
Current behavior
Here is the video example Check
The problem is that when inverted is used, the gesture behavior simply breaks and becomes unobvious - this is clearly a bug.
Expected behavior
Scrolling down on flat list with inverted prop shouldn't close the modal screen.
Reproduction
https://github.com/Artem2001S/expo-router-gesture-bug
Platform
- Android
- iOS
- Web
- Windows
- MacOS
Packages
- @react-navigation/bottom-tabs
- @react-navigation/drawer
- @react-navigation/material-top-tabs
- @react-navigation/stack
- @react-navigation/native-stack
- react-native-drawer-layout
- react-native-tab-view
Environment
- I've removed the packages that I don't use
| package | version |
|---|---|
| @react-navigation/native | ^7.0.14" |
| react-native-screens | ~4.4.0 |
| react-native-safe-area-context | 4.12.0 |
| react-native-gesture-handler | ~2.20.2 |
| react-native-reanimated | ~3.16.1 |
| react-native | 0.76.7 |
| expo | ^52.0.44 |
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 by running the linked expo-router-gesture-bug reproduction on iOS and examining the interaction between the inverted FlatList and the presentation="modal" stack screen. Done means scrolling the inverted list no longer closes the modal screen.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- react-native, typescript
- Domain
- mobile
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100