UNPKG

mcfe-react-lib

Version:

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

1 lines 1.36 kB
{"version":3,"sources":["../src/createInitial.tsx"],"sourcesContent":["import React from 'react';\r\nimport { ICreateInitial, IReactDOMAdapter } from './type';\r\n\r\nexport const CreateInitial = (\r\n Component: React.ComponentType<any>,\r\n adapter: IReactDOMAdapter\r\n): ICreateInitial => {\r\n const reactDomAdapter = adapter;\r\n\r\n let root: any = null;\r\n let container: Element | null = null;\r\n\r\n return {\r\n _root: null,\r\n mount: function (selector: string) {\r\n container = document.querySelector(selector);\r\n if (!container) throw new Error('Mount target not found');\r\n root = reactDomAdapter.render(<Component />, container);\r\n this._root = root;\r\n },\r\n unmount: function () {\r\n if (container) reactDomAdapter.unmount(container, root);\r\n this._root = null;\r\n }\r\n };\r\n};\r\n\r\n"],"mappings":";AAAA,OAAO,WAAW;AAGX,IAAM,gBAAgB,CACzB,WACA,YACiB;AACjB,QAAM,kBAAkB;AAExB,MAAI,OAAY;AAChB,MAAI,YAA4B;AAEhC,SAAO;AAAA,IACH,OAAO;AAAA,IACP,OAAO,SAAU,UAAkB;AAC/B,kBAAY,SAAS,cAAc,QAAQ;AAC3C,UAAI,CAAC;AAAW,cAAM,IAAI,MAAM,wBAAwB;AACxD,aAAO,gBAAgB,OAAO,oCAAC,eAAU,GAAI,SAAS;AACtD,WAAK,QAAQ;AAAA,IACjB;AAAA,IACA,SAAS,WAAY;AACjB,UAAI;AAAW,wBAAgB,QAAQ,WAAW,IAAI;AACtD,WAAK,QAAQ;AAAA,IACjB;AAAA,EACJ;AACJ;","names":[]}