diff --git a/src/components/ModalSheetView/ModalSheetView.tsx b/src/components/ModalSheetView/ModalSheetView.tsx index 70dd1d3d..e0f85a1d 100644 --- a/src/components/ModalSheetView/ModalSheetView.tsx +++ b/src/components/ModalSheetView/ModalSheetView.tsx @@ -60,10 +60,19 @@ export const ModalSheetView = React.forwardRef< })); }; - await nativeRef.current.presentModal({ - isAnimated: true, - ...commandArgs, - }); + const eventEmitter = nativeRef.current!.getEventEmitter(); + + await Promise.all([ + nativeRef.current.presentModal({ + isAnimated: true, + ...commandArgs, + }), + new Promise(resolve => { + eventEmitter.once('onModalDidShow', () => { + resolve(); + }); + }), + ]); }, dismissModal: async (commandArgs) => { if(nativeRef.current == null) { diff --git a/src/components/ModalSheetView/ModalSheetViewTypes.tsx b/src/components/ModalSheetView/ModalSheetViewTypes.tsx index b2e62d87..5ea0e2d9 100644 --- a/src/components/ModalSheetView/ModalSheetViewTypes.tsx +++ b/src/components/ModalSheetView/ModalSheetViewTypes.tsx @@ -8,6 +8,7 @@ import type { RNIModalSheetViewProps, RNIModalSheetViewRef } from "../../native_ type ModalSheetViewRefInherited = Pick; type ModalSheetViewRefInheritedRaw = Pick