React Composition Patterns 是一套面向 React 的组件组合模式指南,旨在帮助开发者构建灵活、可维护的 React 组件。它强调通过组合(composition)而非添加布尔属性来定制行为,从而避免布尔属性泛滥(boolean prop proliferation),并使用复合组件、状态提升、内部组合等方式组织代码。文档指出,这些模式能让代码库在规模扩大时,既便于人类也便于 AI 智能体理解与维护。
适用时机
当出现以下情况时,可参考这些指南:重构包含大量布尔属性的组件;构建可复用的组件库;设计灵活的组件 API;审查组件架构;使用复合组件或上下文提供者(context providers)。
规则分类与优先级
规则按四类组织,并标明影响程度与命名前缀:
-
组件架构(Component Architecture,高优先级,前缀 architecture-):包含 architecture-avoid-boolean-props,即不要通过添加布尔属性来定制行为,而应使用组合;以及 architecture-compound-components,即用共享上下文来组织复杂组件。
-
状态管理(State Management,中优先级,前缀 state-):包含 state-decouple-implementation,即只有 Provider 知道状态如何被管理;state-context-interface,即定义包含 state、actions、meta 的通用接口以支持依赖注入;state-lift-state,即把状态上移到 Provider 组件中,以便同级组件访问。
-
实现模式(Implementation Patterns,中优先级,前缀 patterns-):包含 patterns-explicit-variants,即创建显式的变体组件,而不是用布尔模式切换;patterns-children-over-render-props,即用 children 进行组合,而不是使用 renderX 这类属性。
-
React 19 API(中优先级,前缀 react19-):文档特别标注为「仅 React 19+」,如果使用 React 18 或更早版本可跳过本部分。包含 react19-no-forwardref,即不要使用 forwardRef;使用 use() 替代 useContext()。
使用方式
文档建议阅读单独的规则文件以获取详细解释与代码示例,例如 rules/architecture-avoid-boolean-props.md、rules/state-context-interface.md。每个规则文件包含:为什么重要的简要说明、带解释的错误代码示例、带解释的正确代码示例,以及额外的上下文与参考信息。
完整文档
如需包含所有规则展开的完整指南,可查看 AGENTS.md。
限制与说明
资料未提供该技能的具体安装方式、适用平台、收费情况或除上述规则之外的其他功能细节。React 19 API 部分仅适用于 React 19 及以上版本。