-
Notifications
You must be signed in to change notification settings - Fork 24.5k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ScrollView as child of Modal no longer scrollable on first mount/modal opening, RN >= 0.76, Android only, old-arch only #48822
Comments
I also tried reproducing this issue on latest version v0.77.0 it is happening on android old arch, looks like a valid issue |
I'm not sure of the exact internals for this one, but I have a feeling it's something to do with height of the parent view (or height of the ScrollView itself?) not being calculated properly anymore on mount. |
+1 |
1 similar comment
+1 |
Thanks for reporting this and for the great reproduction steps. This just bit us too, this exact scenario. Our workaround was to add We will be switching to the new architecture soon so hopefully this is a temporary hack, or hopefully this issue can get resolved. |
This workaround concerns me a bit, just on the off chance the renderer does interpret the height correctly and tries to make the ScrollView only 100px. BUT, you got me thinking and inspired another workaround. Conditionally render {flex: 1} on the ScrollView after render and a short timeout:
This seems to consistently produce the behavior we want, and the 200ms delay of unscrollable content isn't noticeable. Something tells me this issue is very low priority, affecting the old architecture only. Ideally I think it's best for people to just switch to the new architecture if they can. In our case, we're just waiting for one of the major libraries we use to catch up with full support for the new architecture, since it doesn't seem to work well with the interop layer. |
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: