material-ui和mui有什么区别?二者的Select组件为何分属不同包?
为什么@material-ui/core与@mui包下存在同名Select组件
这是Material UI框架大版本迭代带来的包命名空间变更导致的,两者属于同一框架的不同版本产物,并非两个独立项目开发的重复组件:
- v4及更早版本的Material UI核心组件包命名为
@material-ui/core,该版本下的Select组件均从这个包导出 - 2021年官方发布v5正式版时,全量更新了包命名规则,所有官方包统一迁移到
@mui域名下,原@material-ui/core对应v5及后续版本的@mui/material包,新版Select组件改为从该包导出
常见注意事项
- 若你的项目中同时存在两个依赖包,大概率是历史依赖升级不彻底,或是安装的第三方子依赖引用了旧版Material UI
- 两个Select组件API不完全兼容:v5版本的
@mui/material/Select默认样式方案从JSS切换为emotion,同时优化了属性定义、无障碍支持等能力,不能和旧版@material-ui/core/Select直接混用 - 新项目建议直接使用
@mui/material下的组件,官方已停止对v4及更早版本的维护
内容的提问来源于stack exchange,提问作者Matthew Oakley
相关产品推荐
相关产品推荐

