-
-
Notifications
You must be signed in to change notification settings - Fork 575
Closed
Labels
Platform: iOSThis issue is specific to iOSThis issue is specific to iOSRepro providedA reproduction with a snack or repo is providedA reproduction with a snack or repo is provided
Description
Description
https://github.com/software-mansion/react-native-screens/releases/tag/3.29.0 and #1912 are causing breaking change in behaviour of '@react-navigation/native-stack'
's Screen
that is mounted with { presentation: "modal" }
.
Hiding the react-native
's Modal
that is the most top component in the view hierarchy prevents Screen
with { presentation: "modal" }
from showing.
My scenario:
- show a
BottomSheet
that is based onreact-native
'sModal
with an action button - clicking the button should hide the
BottomSheet
and navigate to{ presentation: "modal" }
individual Screen
Before 3.29.0 (3.28.0 here) - desired behaviour |
3.29.0 - breaking change |
3.29.0 - without BottomSheet autohide |
---|---|---|
Screen.Recording.2024-02-22.at.16.17.37.mov |
RPReplay_Final1708615160.mov |
RPReplay_Final1708615180.MP4 |
Steps to reproduce
- Open https://snack.expo.dev/@bbarthec/react-native-screens-modal-in-modal-issues
- Open the snack in Expo GO (SDK 50 comes with version
3.29.0
) on either physical iPhone or Simulator - Open
BottomSheet
modal & openScreen
modal - seeScreen
is not visible. It's probably mounted using dismissedBottomSheet
modal as an anchor component. - Commend out
setVisible(false)
from line 51 and repeat the process. See the modalScreen
properly mounts.
Snack or a link to a repository
https://snack.expo.dev/@bbarthec/react-native-screens-modal-in-modal-issues
Screens version
3.29.0
React Native version
0.73
Platforms
iOS
JavaScript runtime
None
Workflow
None
Architecture
Paper (Old Architecture)
Build type
Debug mode
Device
None
Device model
No response
Acknowledgements
Yes
LuisRego, Pietahr, hollanderbart and vsnaichuk
Metadata
Metadata
Assignees
Labels
Platform: iOSThis issue is specific to iOSThis issue is specific to iOSRepro providedA reproduction with a snack or repo is providedA reproduction with a snack or repo is provided