Modal Show, Close, Hide & Toggle
React Modal Backdrop
Methods for responsive Popup with React Bootstrap 5. Show, hide / close or toggle a modal with react props.
Use MDB modal plugin to add dialogs to your site for lightboxes, user notifications, or completely custom content.
Note: Read the Modal API tab to find all available options and advanced customization
Here you can find the most common Modal props
Name | Type | Default | Description | Example |
---|---|---|---|---|
backdrop
|
Boolean | true |
Sets a backrop for modal |
<MDBModal backdrop={false} />
|
className
|
String | '' |
Add custom class to MDBModal |
<MDBModal className="class" />
|
closeOnEsc
|
Boolean | true |
Allows to close modal on Escape keydown |
<MDBModal closeOnEsc={false} />
|
modalRef
|
Reference | '' |
Reference to the modal element |
<MDBModal modalRef={modalReference} />
|
setShow
|
React.SetStateAction | '' |
Allows to pass the setState action to the Modal component which defines if modal is shown or not |
<MDBModal setShow={setExample} />
|
show
|
Boolean | false |
Sets visibility of the modal |
<MDBModal show={true} />
|
tag
|
String | 'div' |
Defines tag of the MDBModal element |
<MDBModal tag="section" />
|
Below you will find some of the most common use cases of modal props.
Modal Show
Modal is visible while show
property in MDBModal
component is set on true
.
import React from 'react';
import { MDBModal } from 'mdb-react-ui-kit';
export default function App() {
return (
<>
<MDBModal show={true} tabIndex='-1'>
...
</MDBModal>
</>
);
}
Modal Close / Hide
But when you set the show
property on the false
modal will disappear.
import React from 'react';
import { MDBModal } from 'mdb-react-ui-kit';
export default function App() {
return (
<>
<MDBModal show={false} tabIndex='-1'>
...
</MDBModal>
</>
);
}
Modal Toggle
So then, by using the useState
hook you can make your component interactive.
import React, { useState } from 'react';
import {
MDBBtn,
MDBModal,
MDBModalDialog,
MDBModalContent,
MDBModalHeader,
MDBModalTitle,
MDBModalBody,
MDBModalFooter,
} from 'mdb-react-ui-kit';
export default function App() {
const [basicModal, setBasicModal] = useState(false);
const toggleShow = () => setBasicModal(!basicModal);
return (
<>
<MDBBtn onClick={toggleShow}>LAUNCH DEMO MODAL</MDBBtn>
<MDBModal show={basicModal} setShow={setBasicModal} tabIndex='-1'>
<MDBModalDialog>
<MDBModalContent>
<MDBModalHeader>
<MDBModalTitle>Modal title</MDBModalTitle>
<MDBBtn className='btn-close' color='none' onClick={toggleShow}></MDBBtn>
</MDBModalHeader>
<MDBModalBody>...</MDBModalBody>
<MDBModalFooter>
<MDBBtn color='secondary' onClick={toggleShow}>
Close
</MDBBtn>
<MDBBtn>Save changes</MDBBtn>
</MDBModalFooter>
</MDBModalContent>
</MDBModalDialog>
</MDBModal>
</>
);
}