finds.dev← search

// the find

expo/react-native-action-sheet

★ 1,573 · TypeScript · MIT · updated Feb 2025

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.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →