You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Since React Native 0.76.0, a ScrollView as a child of the built-in Modal component is no longer scrollable when the modal first opens on Android.
This seems to only affect the old architecture. New architecture seems to be unaffected.
iOS seems unaffected.
The problem is still present in RN 0.77. Downgrading to 0.75.4 fixes it.
Steps to reproduce
Install the reproduction app with yarn android. The reproduction is set to use the old architecture by default.
Click the Open Scrollable Modal button.
Observe that the screen doesn't scroll, even though it should.
Leave the modal open. Try modifying the code in ScrollableModalContent.tsx by adding a style={{flex: 1}} to the ScrollView and saving the file. This hot-reloads the component without unmounting at the parent, and suddenly the ScrollView becomes scrollable.
Close the modal using the hardware back button. Re-open the modal, observing the content is unscrollable again, even with style={{flex: 1}} still on the ScrollView.
Remove the style={{flex: 1}} from the ScrollView and save the file.
Enable newArch in Android gradle.properties.
Rebuild the app and try opening the modal again.
The modal opens and the content inside scrolls as expected.
React Native Version
0.77.0
Affected Platforms
Runtime - Android
Output of npx react-native info
System:
OS: Linux 6.12 openSUSE Tumbleweed 20250117
CPU: (8) x64 Intel(R) Core(TM) i7-7700K CPU @ 4.20GHz
Memory: 11.91 GB / 31.31 GB
Shell:
version: 5.2.37
path: /bin/bash
Binaries:
Node:
version: 20.18.1
path: ~/.nvm/versions/node/v20.18.1/bin/node
Yarn:
version: 1.22.22
path: /usr/local/bin/yarn
npm:
version: 10.8.2
path: ~/.nvm/versions/node/v20.18.1/bin/npm
Watchman: Not Found
SDKs:
Android SDK: Not Found
IDEs:
Android Studio: Not Found
Languages:
Java:
version: 17.0.13
path: /usr/bin/javac
Ruby:
version: 3.4.1
path: /usr/bin/ruby
npmPackages:
"@react-native-community/cli":
installed: 15.0.1
wanted: 15.0.1
react:
installed: 18.3.1
wanted: 18.3.1
react-native:
installed: 0.77.0
wanted: 0.77.0
npmGlobalPackages:
"*react-native*": Not Found
Android:
hermesEnabled: true
newArchEnabled: false
iOS:
hermesEnabled: Not found
newArchEnabled: false
goguda
changed the title
ScrollView as child of Modal no longer scrolls on first mount/modal opening, RN >= 0.76, Android only, old-arch only
ScrollView as child of Modal no longer scrollable on first mount/modal opening, RN >= 0.76, Android only, old-arch only
Jan 21, 2025
Description
Since React Native 0.76.0, a ScrollView as a child of the built-in Modal component is no longer scrollable when the modal first opens on Android.
This seems to only affect the old architecture. New architecture seems to be unaffected.
iOS seems unaffected.
The problem is still present in RN 0.77. Downgrading to 0.75.4 fixes it.
Steps to reproduce
yarn android
. The reproduction is set to use the old architecture by default.Open Scrollable Modal
button.ScrollableModalContent.tsx
by adding astyle={{flex: 1}}
to the ScrollView and saving the file. This hot-reloads the component without unmounting at the parent, and suddenly the ScrollView becomes scrollable.style={{flex: 1}}
still on the ScrollView.style={{flex: 1}}
from the ScrollView and save the file.gradle.properties
.React Native Version
0.77.0
Affected Platforms
Runtime - Android
Output of
npx react-native info
Stacktrace or Logs
Reproducer
https://github.com/goguda/react-native-android-scrollview-in-modal-not-always-scrolling-point-76-up
Screenshots and Videos
No response
The text was updated successfully, but these errors were encountered: