renderDom.tsx 528 B

12345678910111213141516171819
  1. import type React from 'react';
  2. import {createRoot} from 'react-dom/client';
  3. export function renderDom<T extends React.ComponentType<any>>(
  4. Component: T,
  5. container: string,
  6. props: React.ComponentProps<T>
  7. ) {
  8. const rootEl = document.querySelector(container);
  9. // Note: On pages like `SetupWizard`, we will attempt to mount main App
  10. // but will fail because the DOM el wasn't found (which is intentional)
  11. if (!rootEl) {
  12. return;
  13. }
  14. const root = createRoot(rootEl);
  15. root.render(<Component {...props} />);
  16. }