Base UI:把自己从组件样式的泥潭里捞出来
如果曾经为了改一个 Ant Design 或者 MUI 的默认样式而写了几十行 !important,或者在深夜纠结为什么手写的下拉菜单无法用键盘操作,那 Base UI 就很值得了解。
到底什么是 Base UI?
简单来说,Base UI 是由 MUI 团队打磨的一套 Headless(无样式) React 组件库。
它只给“骨架”和“大脑”,也就是组件的逻辑、交互、状态管理以及极其麻烦的无障碍访问性 (A11y)。至于外层样式,则完全交给项目自己来决定。
它的幕后推手包括 MUI 团队和 Radix UI 的原作者之一。可以把它看作是吸取了 MUI 的稳健经验,又融入了 Radix 现代设计理念的产物。
为什么适合在新项目里认真看一眼
1. 彻底解决“样式覆盖地狱”
Base UI 没有默认的 CSS。这意味着不需要去猜 CSS 类名,也不需要和它自带的边距、颜色死磕。无论是 Tailwind CSS、CSS Modules 还是 Emotion,直接把类名挂在组件上就行。