用途:当 React 页面组件、业务组件、展示组件、自定义 Hook 或工具函数边界不清、props 过大时,用它指导拆分、重构与评审;也可用于减少状态扩散、分支复杂度以及分离 UI 与请求、路由、缓存、弹窗、埋点等逻辑。
主要能力:按任务类型(评审、重构、新实现、分层清理)定位核心单元,检查单一变更原因与意外耦合,识别超过 3 个模式分支的场景,判断逻辑应放在页面、Hook、展示组件还是 lib/utils。
使用方式:先判断是编排层还是展示层,再决定状态逻辑是否移入 Hook、是否可脱离 React 生命周期而放入 lib/utils。重构优先路径依次为:从页面组件移除业务状态与副作用;把可复用、可测试的状态流抽成业务 Hook;将厚重 JSX 拆成最小展示组件;把纯数据转换、校验与映射移入 lib 或 utils;收窄 props 至子组件真正需要的字段与回调。评审按职责边界、props 设计、复杂度、分支扩展顺序检查。
规则与限制:不以代码行数替代设计判断;代码注释与函数注释须用中文,Hook 需注明业务职责、状态范围或副作用边界,禁止写逐行翻译式低价值注释。评审先列问题再给改动建议;重构需明确新边界;新实现不得重新引入大对象 props 或万能 Hook。合理例外必须说明,如视觉结构集中稳定的展示组件略长、仅服务主组件的少量辅助组件、页面入口略长但业务逻辑已抽入 Hook;无法给出明确理由时默认收紧边界。不适用于非 React 组件或页面编排任务、纯后端工作以及不涉及边界、状态流与 props 设计的纯样式修改。
更详细的规则见 references/react-component-hook-rules.md。