使用说明
Artifact 可以版本化、传输和验证;Instance 才拥有运行态状态。
Artifact 不是 Component 的同义词
Artifact 是结构化数据容器,可以描述一个组件,也可以描述完整页面、场景或其他可运行内容。它本身不要求具备 props factory、代码模块或组件级发布身份。
Component 则是在 Artifact 之上建立的可复用代码入口:它接收 props、生成 Artifact,并提供创建、挂载和公共契约查询能力。使用 createFlamoComponentApi(factory) 可以把 Artifact factory 定义为 Component API。
因此三者的关系是:
Component(props) → Artifact → Runtime.create()/mount() → Instance如果手上已有 Artifact,可以直接交给 Runtime,不必先把它包装成 Component。只有需要 props、重复使用、模块导入导出或稳定公共接口时,才需要定义 Component。
完整概念边界见 Artifact、Component 与 Instance。
需要把多个子组件按父子层级封装为新的 Artifact / Component 时,使用 Composition IR,而不是保存运行中的 Instance。完整步骤见 组合多个组件并封装为新组件。