import React, { useEffect } from 'react'; import ReactDOM from 'react-dom'; import ModalOverlay from './ModalOverlay'; import { useHistory } from 'react-router'; export default function Modal({ component, props, hideModal }: any) { const history = useHistory(); useEffect(() => { return history.listen((location) => { if (history.action === 'POP') { document.querySelector('body').style.overflow = 'visible'; } }); }); return component ? ( ReactDOM.createPortal( {component} , document.querySelector('#modal-root') ) ) : ( <> ); }