// the find
expo/react-native-action-sheet
A cross-platform ActionSheet for React Native
A thin wrapper that calls the native iOS UIActionSheet and falls back to a pure-JS modal sheet on Android and web. Maintained by the Expo team, so it stays in sync with Expo SDK releases. If you're already in the Expo ecosystem and need a quick action sheet without pulling in a heavier component library, this does the job.
Uses the real native iOS UIActionSheet, so you get the correct platform feel on iOS without re-implementing it. The Android JS implementation is configurable enough to be usable: icons, custom text styles, separator control, destructive button color. The context + hook API is clean — no prop drilling, no ref juggling. The `useModal` escape hatch for stacking on top of existing Modals is a real-world problem they actually solved.
Last pushed February 2025 and the Android implementation is pure JS, meaning it will always lag the native Android BottomSheet in look and feel — no Jetpack Compose, no material motion. The context provider pattern means you can only have one action sheet instance in the tree at a time, which gets awkward in complex navigation setups. No gesture-dismiss support on the JS side (Android/web): users tap a button or nothing, no swipe-down. Windows support is present but reads like an afterthought — the `useNativeDriver` escape hatch for a five-year-old Windows version is not a confidence booster.