React 组合模式
用于构建灵活、可维护的 React 组件的组合模式。避免使用大量布尔属性,转而采用复合组件、状态提升和组合内部实现。这些模式使得代码库在扩展时,对人类和 AI 代理都更易于协作。
何时应用
在以下情况下参考这些指南:
- 重构具有许多布尔属性的组件
- 构建可复用的组件库
- 设计灵活的组件 API
- 审查组件架构
- 处理复合组件或上下文提供者
按优先级分类的规则类别
| 优先级 | 类别 | 影响 | 前缀 |
|---|---|---|---|
| 1 | 组件架构 | 高 | architecture- |
| 2 | 状态管理 | 中 | state- |
| 3 | 实现模式 | 中 | patterns- |
| 4 | React 19 API | 中 | react19- |
快速参考
1. 组件架构(高优先级)
architecture-avoid-boolean-props- 不要添加布尔属性来自定义行为;使用组合architecture-compound-components- 使用共享上下文构建复杂组件
2. 状态管理(中优先级)
state-decouple-implementation- 只有 Provider 知道状态是如何管理的state-context-interface- 定义包含状态、操作、元数据的通用接口,用于依赖注入state-lift-state- 将状态提升到 Provider 组件中,以便兄弟组件访问
3. 实现模式(中优先级)
patterns-explicit-variants- 创建显式变体组件,而不是使用布尔模式patterns-children-over-render-props- 使用 children 进行组合,而不是 renderX 属性
4. React 19 API(中优先级)
⚠️ 仅限 React 19+。 如果使用 React 18 或更早版本,请跳过此部分。
react19-no-forwardref- 不要使用forwardRef;使用use()替代useContext()
如何使用
阅读单个规则文件以获取详细解释和代码示例:
rules/architecture-avoid-boolean-props.md
rules/state-context-interface.md
每个规则文件包含:
- 为何重要的简要说明
- 带有解释的错误代码示例
- 带有解释的正确代码示例
- 附加上下文和参考
完整的编译文档
如需包含所有规则的完整指南,请查阅:AGENTS.md