Promise wrapper for React components
npm install react-modal-promise
npm install react-modal-promise
`
or
`
yarn add react-modal-promise
`How to use:
1. Place ModalContainer in any place of your App, it will emit new modal instances:
`tsx
import ModalContainer from 'react-modal-promise'class MyApp extends React.Component {
render () {
return (
)
}
}
`2. Create you own modal component:
(You should pass
`isOpen: boolean` flag to you Modal component)You can resolve or reject Promise with onResolve() or onReject() callback from props:
`tsx
import { createModal } from 'react-modal-promise'
import { Modal } from 'react-bootstrap'const MyModal = ({ isOpen, onResolve, onReject }) => (
onReject()}>
My Super Promised modal
)
`And wrap it:
`tsx
const myPromiseModal = createModal(MyModal)`3. Use the modal as a Promise everywhere:
`tsx
myPromiseModal({ /pass any props there/ })
.then(value => {
// get value that you passed to 'onResolve' function
}).catch(error => {
// get error that you passed to 'onReject' function
})
``Simple:

With hook and route control:

Use multiple scopes:

You can use react-modal-promise with any theming (Bootstrap or material-ui, styled-components, or other), all instances work great!