name: mui-base description: MUI 基础 UI 风格指南,用于构建无头 React 组件库(以前称为 headless-ui-style)。此技能应用于创建无样式 UI 组件、具有渲染属性的复合组件、无障碍优先模式或分离逻辑与样式的组件库。提取自 MUI Base UI 代码库 (github.com/mui/base-ui)。
MUI 无头UI最佳实践
构建遵循 MUI Base UI 模式的无头 React 组件库的全面风格指南。包含 5 个类别的 48 条规则,按影响优先级排序。
何时应用
参考这些指南当:
- 构建无头/无样式组件库
- 创建基于上下文组合的复合组件
- 实现具有 ARIA 模式的无障碍 UI 原语
- 使用渲染属性和 className 回调以实现样式灵活性
- 编写支持受控和非受控模式的组件
按优先级分类的规则类别
| 优先级 | 类别 | 影响 | 前缀 |
|---|---|---|---|
| 1 | 组件模式 | 关键 | comp- |
| 2 | 命名约定 | 高 | name- |
| 3 | 组织 | 高 | org- |
| 4 | 错误处理 | 高 | err- |
| 5 | 样式 | 中等 | style- |
快速参考
1. 组件模式 (关键)
comp-forward-ref-named- 使用带命名函数的 forwardRefcomp-props-parameter-naming- 命名 Props 参数为 componentPropscomp-use-render-element- 使用 useRenderElement 进行 DOM 渲染comp-context-undefined-default- 创建具有未定义默认值的上下文comp-context-error-message- 具有层次结构的上下文错误消息comp-use-controlled- 使用 useControlled Hook 用于双重模式comp-state-memoization- 记忆状态对象comp-context-value-memo- 记忆上下文提供者值comp-plain-function-root- 用于非DOM根部的普通函数comp-hook-namespace-exports- Hook 命名空间导出comp-props-destructure-order- Props 解构顺序comp-use-client-directive- 添加 use client 指令
2. 命名约定 (高)
name-component-naming- 组件命名为 ParentPartname-file-matches-export- 文件名匹配主要导出name-directory-kebab-case- 目录命名使用 kebab-casename-part-directory-lowercase- 部件目录命名使用小写name-context-suffix- 上下文命名使用后缀name-context-hook- 上下文 Hook 作为 useComponentContextname-props-interface- Props 接口作为 ComponentPropsname-state-interface- State 接口作为 ComponentStatename-namespace-type-exports- 命名空间类型导出name-event-type- 事件类型命名约定name-constants- 常量命名使用 SCREAMING_SNAKE_CASEname-data-attributes- 数据属性命名使用小写name-hooks- Hook 命名使用 use 前缀name-refs- Ref 变量命名使用后缀name-handlers- 处理程序命名约定
3. 组织 (高)
org-component-directory- 组件目录结构org-dual-barrel-exports- 双桶导出模式org-test-colocation- 测试文件共置org-context-placement- 上下文文件放置org-data-attributes-file- 数据属性文档文件org-state-attributes-mapping- 状态属性映射文件org-css-vars-file- CSS 变量文档文件org-package-exports- 包级别通配符导出
4. 错误处理 (高)
err-dev-only-warnings- 仅开发警告err-deduplicated-warnings- 去重警告消息err-message-prefix- 消息前缀标准err-context-error-guidance- 上下文错误指导err-prop-validation-timing- Prop 验证时机err-cancelable-events- 可取消事件模式err-event-reason-constants- 事件原因常量err-typed-event-reasons- 类型安全的事件原因
5. 样式 (中等)
style-react-import- React 导入作为命名空间style-internal-imports- 内部导入路径style-explicit-undefined- 在 Prop 类型中显式未定义style-default-values- 解构中的默认值style-jsdoc-documentation- JSDoc 文档
如何使用
阅读单个参考文件以获取详细解释和代码示例:
- 部分定义 - 类别结构和影响级别
- 规则模板 - 添加新规则的模板
- 示例:comp-forward-ref-named
- 示例:org-component-directory
来源
提取自 MUI Base UI 代码库于 2026-01-17。
完整编译文档
完整指南,所有规则展开:AGENTS.md