Mui V4 to V5

关于MUIv4与v5的差异 #

v4 与v5在组件上的差异不大,但是组包方式有重大的更改。同时组件的样式注入改为了emotion库。

目前MUI-v5的包有如下几个:(https://mui.com/zh/guides/understand-mui-packages/)

  • @mui/material, 核心组件库
  • @mui/system,
  • @mui/base, 是一个unstyled components, 你可以认为material部分的组件是用styled-engine修饰过的base组件。
  • @mui/styled-engine, 样式设计引擎emotion的封装
  • @mui/styled-engine-sc, 样式设计引擎,styled-components的封装,与上一条可以按需使用。
  • @mui/styles, 即将被删除

emotion是system部分默认使用的样式引擎,即官方推荐使用的是@mui/styled-engine。后面介绍emotion的特性。

传统的JSS-in-CSS,

对于用户来说,我们直接接触的部分其实就是@mui/material, 一切都从这个包里获取。

MUI-v5响应式改造 #

响应式改造主要是按照宽度自动调节:字体大小、间距、宽度、排版方向、可见性等。以此实现在不同大小的设备上都有良好的展示效果。

前端代码规范 #

emotion #