UNPKG

@nexara/nativeflow

Version:

Beautiful, responsive, and customizable UI components for React Native – built for performance and seamless experiences.

38 lines (35 loc) 1.04 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = require("react"); var _PortalContext = _interopRequireDefault(require("./PortalContext.js")); function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; } const Portal = ({ children, name }) => { const { addComponent, removeComponent } = (0, _react.useContext)(_PortalContext.default); const uniqueId = name ?? (0, _react.useId)(); // const uniqueId = useRef(name ?? `portal_${Math.random() * 50}`).current; // useEffect(() => { // return () => removeComponent(uniqueId); // }, []); // useEffect(() => { // addComponent({ name: uniqueId, component: children }); // }, [children]); (0, _react.useLayoutEffect)(() => { addComponent({ name: uniqueId, component: children }); return () => removeComponent(uniqueId); }, [children, uniqueId]); return null; }; var _default = exports.default = Portal; //# sourceMappingURL=Portal.js.map