React Async Modal
npm install react-async-modalreact-responsive-modalInstall
-----------
* yarn: yarn add react-async-modal
* npm: npm i react-async-modal --save
Usage example
-------------
``tsx
// Importing
import asyncModal from 'react-async-modal';
import 'react-responsive-modal/styles.css';
// Setup default modal settings (optional)
asyncModal.setDefaultModalProps({
showCloseIcon: false,
style: {
modal: {
width: 500
}
}
});
// Defining modal component
class MyConfirm extends React.Component<{question: string, resolve(boolean): void, close(): void}> {
render() {
return
// Calling modal with async/await style
const result = await asyncModal(MyConfirm, { question: 'Delete file?' }, { showCloseIcon: false });
console.log(result);
// Or with Promise style
asyncModal(MyConfirm, { question: 'Delete file?' }, { showCloseIcon: false }).then((payload) => {
if(payload) {
console.log('File was deleted!');
}
});
`props
There are two methods will be injected to of MyConfirm component:resolve
* method to send payload and close modalclose
* method to send null as payload and close modal
Modal customization
-------------------
Use modalProps argument or asyncModal.setDefaultModalProps() method to pass props to react-responsive-modal`
Available props: https://react-responsive-modal.leopradel.com/#props