Skip to content

[Feature Request] 扩展环境支持 react-dom/client(createRoot / hydrateRoot) #31

Description

@xiaowumin-mark

需求

扩展需要动态创建独立的 React root(createRoot),但当前只暴露了 react-dom

(仅有 createPortal/flushSync),无 react-dom/client

场景

扩展需要在宿主页面上动态挂载独立的 React 渲染子树(如弹出浮层、面板),

createPortal 只能挂在已存在的 DOM 上,无法创建独立 root。

建议变更

extension-env.d.ts

+ declare const ReactDOMClient: typeof import("react-dom/client");
vite.config.ts externals
- external: ["jotai", "react", "react-dom"],
+ external: ["jotai", "react", "react-dom", "react-dom/client"],

使用方式

const { createRoot } = ReactDOMClient;
const root = createRoot(el);
root.render(<Component />);

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions