react-dumb-modal

1.2.0 • Public • Published

React Dumb Modal

A simpler modal. A modal that is not self-aware.

var Modal = require('react-dumb-modal')
<Modal dismiss={function(){/* handle the dismiss here */}} />

Dumb Modals are always visible, hence being "dumb". Consequently you will need to control the visibility of the modal from the parent component. By moving all of the state out of the child component, it becomes easier to reason with. The same goes for any modal animations.

note: the dismiss prop is a function that will be called when a user presses escape or clicks off of the modal. Assuming you want to allow the user to dismiss the modal, you should implement some logic here that toggle off the modal (either by removing it altogether or changing the style).

Usage

See props in the usage example below:

<Modal
  dismiss={function(){}}
  overlayStyle={{background: 'rgba(0,0,0,.5)'}}
  overlayClassName='overlay' //if you prefer to use css styling set a className here
  modalStyle={{background: 'white'}}
  modalClassName='modal' //className for the actual modal box
  unstyled={true} //if true no default styles will be included
  />

Practical Example

import React, { Component } from 'react'
import Modal from 'react-dumb-modal'
 
class Page extends Component {
  toggleModal = () => {
    this.setState({showModal: !this.state.showModal})
  }
 
  render() {
    return(
      <div>
        {this.state.showModal ? <Modal dismiss={this.toggleModal} /> : null}
      </div>
    )
})

Dependencies (3)

Dev Dependencies (0)

    Package Sidebar

    Install

    npm i react-dumb-modal

    Weekly Downloads

    0

    Version

    1.2.0

    License

    MIT

    Last publish

    Collaborators

    • rt2zz