React
2023-04-23 18:34
const Portal = (props) => {
return createPortal(props.children, document.getElementById("portal"));
};
javascriptimport ReactDOM from "react-dom";
const Portal = ({ children, selector }) => {
const element = typeof window !== "undefined" && document.querySelector(selector);
return element && children ? ReactDOM.createPortal(children, element) : null;
};
export default Portal;
javascriptimport { useEffect, useState } from "react";
import ReactDOM from "react-dom";
const Portal = ({ children, selector }) => {
const [element, setElement] = useState(null);
useEffect(() => {
setElement(document.querySelector(selector));
}, [selector]);
return element && children ? ReactDOM.createPortal(children, element) : null;
};
export default Portal;
javascript