-
-
Notifications
You must be signed in to change notification settings - Fork 918
Closed
Labels
Description
Bug
The enableDynamicSize prop does not work when BottomSheetView contains a single View component with multiple children. I am seeing inconsistent behavior where most of the time, the bottom sheet has no height and no content. Very rarely it renders correctly (maybe 1 in 50 attempts?).
I was able to reproduce this using the example app on both Android & iOS (see repro steps below).
repro.mov
Environment info
Reproduced on latest master (65b5dc0).
| Library | Version |
|---|---|
| @gorhom/bottom-sheet | 4.5.1 |
| react-native | 0.62.2 |
| react-native-reanimated | 2.8.0 |
| react-native-gesture-handler | 1.10.3 |
Steps To Reproduce
- Run example app
- Scroll down and click Dynamic Sizing
Describe what you expected to happen:
- Bottom sheet should render with content
Reproducible sample code
Modify the render of example/app/src/screens/advanced/DynamicSnapPointExample.tsx to add a View that wraps all children of BottomSheetView
Here is a patch file to apply with the changes: repro.patch
diff --git a/example/app/src/screens/advanced/DynamicSnapPointExample.tsx b/example/app/src/screens/advanced/DynamicSnapPointExample.tsx
index 8c3e63e..a91855e 100644
--- a/example/app/src/screens/advanced/DynamicSnapPointExample.tsx
+++ b/example/app/src/screens/advanced/DynamicSnapPointExample.tsx
@@ -54,6 +54,7 @@ const DynamicSnapPointExample = () => {
animateOnMount={true}
>
<BottomSheetView style={contentContainerStyle}>
+ <View>
<Text style={styles.message}>
Could this sheet resize to its content height ?
</Text>
@@ -62,6 +63,7 @@ const DynamicSnapPointExample = () => {
</View>
<Button label="Yes" onPress={handleIncreaseContentPress} />
<Button label="Maybe" onPress={handleDecreaseContentPress} />
+ </View>
</BottomSheetView>
</BottomSheet>
</View>reeq-dev, marlonschlosshauer, ironchestgames, AlirezaHadjar, anujsharmadel and 22 more