Skip to content

Latest commit

 

History

History
78 lines (54 loc) · 1.55 KB

README.md

File metadata and controls

78 lines (54 loc) · 1.55 KB

react-modal-pirate

A react-modal wrapper that makes it (even) easier to create a modal.

NPM JavaScript Style Guide

Why "-pirate" ?

Because its just like react-modal, but with hooks.

badabumtss

Install

yarn add react-modal-pirate

or

npm install --save react-modal-pirate

Usage

  1. Wrap your application with
import ModalProvider from "react-modal-pirate"

const App = () => {
  return (
    <ModalProvider>
      <Main/>
    </ModalProvider>
  )
}
  1. Create the modal content
import {useClose} from "react-modal-pirate"

const Modal = () => {
  const closeModal = useClose();

  return (
    <div>
      <h1>Hello World</h1>
      <button onClick={closeModal}>Exit</button>
    </div>
  )
}

Note: Modals also close by pressing the Esc key or by clicking outside the modal itself, so it is not mandatory to use the useClose hook.

  1. Open the modal using useOpen hook
import { useOpen } from "react-modal-pirate"
import Modal from "./Modal"

const Main = () => {
  const openModal = useOpen()

  return (
    <button onClick={() => openModal(<Modal/>)}>Open Modal</button>
  )
}

License

MIT © alexnix