react-simple-modal-controller
Version:
simple and convenient modal-controller for react
21 lines (20 loc) • 654 B
JavaScript
import { useEffect, useState } from "react";
import { createPortal } from "react-dom";
var MODAL_ID = "modal-container";
var createModalContainer = function () {
var modalContainer = document.createElement("div");
modalContainer.id = MODAL_ID;
document.body.append(modalContainer);
return modalContainer;
};
var Portal = function (_a) {
var children = _a.children;
var _b = useState(null), container = _b[0], setContainer = _b[1];
useEffect(function () {
setContainer(createModalContainer());
}, []);
if (!container)
return null;
return createPortal(children, container);
};
export default Portal;