Skip to content

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

@xiaowumin-mark

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
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions