Hello world, I’m testing
CKAnswer from Cedric K.
Nothing swaps at open time. Each sheet measures its own content once on mount and keeps it, so expand() always animates to a height gorhom already holds. No requestAnimationFrame, no onLayout gate, no timer, and no reopening-the-same-variant edge case to cover. It also deleted state rather than adding it: isImagePicker and pendingOpen are both gone, along with the BottomSheetView onLayout hook. handleClosePress now closes both refs, and the call sites read as what they do — openSheet(pickerSheetRef) and openSheet(confirmSheetRef). The KeyboardController.dismiss() change from the previous commit stays; that addresses the separate cause (gorhom offsetting the sheet while it still had KEYBOARD_STATUS.SHOWN). tsc --noEmit passes. Two sheets are now mounted at index={-1} instead of one. Both are hidden and gorhom supports concurrent sheets, so the cost is negligible — but it's the one structural change worth a glance in review.
1 like









