description: "浏览器 UI 渲染器:React slot 绑定、ctx.uiRenderer 与 dsh Web 客户端组装后的应用根。"
English | 中文
dsh-client-ui-renderer 挂载组装完成的 dsh Web 客户端 GUI:完整客户端插件名册稳定后,启动内核调用 ctx.uiRenderer.mount(container),它会 hydrate 不依赖框架的启动页,并在下一次绘制前切换到完整的 React 应用。业务插件仍是接收类型化 props 的普通 React 组件,通过 props 获取会话与 Workspace 数据,永远不需要自行接线订阅——渲染器在 slot outlet 处把运行时的裸 observable source 绑定为 selector 钩子。Web 外壳与启动内核是它仅有的直接消费方,因此只要组合需要 React 渲染的 GUI,就需要它。
本包属于基础设施:Web 外壳与启动内核是它仅有的直接消费方。只要组合需要 React 渲染的 GUI,就需要它——dsh-client-web 加载名册,等待每个 entry 激活,然后调用 ctx.uiRenderer.mount(container)。
mount(container) 会安装 slot 渲染器、在存在时 hydrate 现有启动 DOM、在下一次绘制前把组装后的应用渲染进容器,并返回一个卸载 React 根的 disposer。渲染器执行全程序唯一一次上下文级 renderSlot('root') 调用;注册的根占用方拥有产品布局与文档元数据。
业务插件通过 slot 系统注册组件;渲染器在 outlet 处把运行时的会话与 Workspace observable source 绑定为 selector 钩子。插件通过其组合 props 收到标准会话 props(session id、对话快照钩子)——它绝不导入渲染器,也不触碰 React 内部机制。
以下页面覆盖周边机制与组合模型。
mount 的外壳。无。该包是浏览器端渲染组装层,不注册任何面向模型的内容。
无;该包既不组装也不发送提供方请求。
这些限制说明应用首帧何时出现、按区域就绪能走多远;它们是当前包约束。