UNPKG

mcfe-react-lib

Version:

Mount/unmount React components flexibly with React 17 or 18 support

43 lines (41 loc) 1.13 kB
// src/createInitial.tsx import React from "react"; var CreateInitial = (Component, adapter) => { const reactDomAdapter = adapter; let root = null; let container = null; return { _root: null, mount: function(selector) { container = document.querySelector(selector); if (!container) throw new Error("Mount target not found"); root = reactDomAdapter.render(/* @__PURE__ */ React.createElement(Component, null), container); this._root = root; }, unmount: function() { if (container) reactDomAdapter.unmount(container, root); this._root = null; } }; }; // src/adapters/reactDomAdapter17.ts import * as ReactDOM from "react-dom"; var reactDomAdapter17 = { render: (element, container) => { ReactDOM.render(element, container); return null; }, unmount: (container) => { ReactDOM.unmountComponentAtNode(container); } }; // src/CreateInitialReact17.tsx var CreateInitialReact17 = (Component) => { return CreateInitial(Component, reactDomAdapter17); }; export { CreateInitialReact17 }; //# sourceMappingURL=CreateInitialReact17.mjs.map