A customizable React Native modal component with swipe-to-close and flexible positioning.
react-native-modalbox is a customizable modal component for React Native that provides smooth animations and swipe-to-close functionality. It solves the problem of limited styling and interaction options in React Native's basic modal by offering extensive customization for positioning, backdrop, and gestures. The component is designed to be easy to implement while allowing full control over appearance and behavior.
React Native developers who need polished, interactive modals with gestures and custom animations in their mobile apps. It's particularly useful for those building apps requiring user-friendly modal interactions like bottom sheets, alerts, or onboarding screens.
Developers choose react-native-modalbox over alternatives for its swipe-to-close feature and extensive customization options, including adjustable positioning, backdrop control, and flexible entry animations. It offers a balance of ease of use and fine-grained control, with built-in keyboard awareness and event handling for a seamless user experience.
A <Modal/> component for react-native
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements a user-friendly swipe-down gesture to dismiss modals, enhancing UX as shown in the GIF previews and enabled by the swipeToClose property.
Allows fine-grained control over modal positioning, backdrop opacity/color, and entry animations via properties like position, entry, and backdropContent.
Provides onOpened, onClosed, and onClosingState event hooks for precise handling of modal states, enabling dynamic content updates during interactions.
Automatically adjusts modal position to avoid keyboard overlap with configurable keyboardTopOffset, as detailed in the properties table.
Enabling useNativeDriver for hardware acceleration can cause flashes in a weird way during animations, as admitted in the README, potentially degrading user experience.
Features like backButtonClose are Android-only, and default keyboard offsets differ between iOS and Android, requiring extra handling for cross-platform consistency.
With numerous properties to set for basic functionality—such as swipeThreshold and animationDuration—developers might find setup more involved than with simpler alternatives.