🔔 Alert..!! Get 2 Month Free Cloud Hosting With $200 Bonus From Digital Ocean ACTIVATE DEAL

A simple JavaScript modal component for React Native. Works on both iOS and Android.

Modal_Popup React Native

Documentation

react-native-simple-modal

A simple JavaScript modal component for React Native. Works on both iOS and Android.

Looking for maintainers! I'm not actively developing with React Native anymore and I don't have much time to keep this library up-to-date. If you're interested, hit me up: [email protected]

Installation

npm install react-native-simple-modal --save

Usage

See example. Make sure to put the <Modal> at the end of the render function so that it renders above the content!

Properties and their default values

import Modal from "react-native-simple-modal";  <Modal   animationDuration={200}   animationTension={40}   closeOnTouchOutside={true}   containerProps={undefined}   containerStyle={{     justifyContent: "center"   }}   disableOnBackPress={false}   modalDidClose={() => undefined}   modalDidOpen={() => undefined}   modalProps={undefined}   modalStyle={{     borderRadius: 2,     margin: 20,     padding: 10,     backgroundColor: "#F5F5F5"   }}   offset={0}   open={false}   overlayStyle={{     backgroundColor: "rgba(0, 0, 0, 0.75)",     flex: 1   }} />;

Example

import React from "react"; import { Text, TouchableOpacity, View } from "react-native"; import Modal from "react-native-simple-modal";  export default class App extends React.Component {   state = { open: false };    modalDidOpen = () => console.log("Modal did open.");    modalDidClose = () => {     this.setState({ open: false });     console.log("Modal did close.");   };    moveUp = () => this.setState({ offset: -100 });    resetPosition = () => this.setState({ offset: 0 });    openModal = () => this.setState({ open: true });    closeModal = () => this.setState({ open: false });    render() {     return (       <View style={{ flex: 1, justifyContent: "center", alignItems: "center" }}>         <TouchableOpacity onPress={this.openModal}>           <Text>Open modal</Text>         </TouchableOpacity>         <Modal           offset={this.state.offset}           open={this.state.open}           modalDidOpen={this.modalDidOpen}           modalDidClose={this.modalDidClose}           style={{ alignItems: "center" }}         >           <View style={{ alignItems: "center" }}>             <Text style={{ fontSize: 20, marginBottom: 10 }}>Hello world!</Text>             <TouchableOpacity style={{ margin: 5 }} onPress={this.moveUp}>               <Text>Move modal up</Text>             </TouchableOpacity>             <TouchableOpacity               style={{ margin: 5 }}               onPress={this.resetPosition}             >               <Text>Reset modal position</Text>             </TouchableOpacity>             <TouchableOpacity style={{ margin: 5 }} onPress={this.closeModal}>               <Text>Close modal</Text>             </TouchableOpacity>           </View>         </Modal>       </View>     );   } }

You May Also Like