import React, { useEffect, useState } from 'react' import { createPortal } from 'react-dom' interface PortalProps { children: React.ReactNode } const Portal: React.FC = ({ children }) => { const [mounted, setMounted] = useState(false) useEffect(() => { setMounted(true) return () => setMounted(false) }, []) return mounted ? createPortal( children, document.querySelector('#modal-root') as HTMLElement ) : null } export default Portal