用途:component-split 是一个前端架构类技能,接收一个组件后,诊断其拆分信号、决定是否拆分,并输出重构后的新结构。
主要能力:先读取组件,识别框架/语言(React、Vue、Svelte、Angular、纯 JS)、大致行数、渲染内容、状态、副作用/API 调用、props 及可提取逻辑。随后按信号清单判断:强信号包括单文件超过 200 行、多个不相关渲染区块、多个数据关注点、管理几乎全部应用状态的“上帝组件”;中等信号包括可复用子区块、逻辑与 UI 混杂、props 过多、嵌套过深;软信号包括注释中的命名区块、重复渲染模式、多个不相关 useEffect;无拆分信号包括小于 80 行且内聚、状态与渲染服务单一目的、无复用信号、拆分反而引入多余 prop drilling 或 context 开销。
使用方式:若未提供组件,会要求用户粘贴。根据触发信号选择策略,如展示型分解、逻辑抽取为自定义 hook 或工具、容器/展示分离、可复用组件参数化、状态就近放置、context 或状态提升。输出时对每个新文件给出组件名、用途、接收的 props、回调/返回值及完整代码,最后给出更新后的父组件。代码规则要求保持原有功能不变,组件按“是什么”命名,hook 按“管理什么”命名,props 最小化,避免超过两层的 prop drilling,优先组合而非配置。结尾附拆分摘要,说明原组件与重构后组件/hook 数量、变更点、保留在一起的部分及注意事项。
适用场景:前端组件重构、代码审查、组件职责梳理。限制:资料未提供具体安装命令、收费、平台支持或效果数据;对超过 500 行的组件会先给出结构树并与用户确认,边界不清时会提出一个澄清问题。