提问者:小点点

MUI v5:我是否需要安装@emotion/react或@emotion/styled来使用sx道具?


我已经将我的项目从v4迁移到v5,我只使用sxprop。我没有安装@情感/反应,一切正常。有什么理由安装@情感/反应@情感/样式?因为我还没有安装它,一切都运行良好。

"@mui/icons-material": "^5.0.1",
"@mui/lab": "^5.0.0-alpha.48",
"@mui/material": "^5.0.1",

共1个答案

匿名用户

如果在没有额外配置的情况下安装MUI软件包,那么您使用的是由情感驱动的默认样式引擎,而另一个官方样式引擎则使用需要更多设置的样式化组件。

要使用默认样式引擎,您需要安装安装指南中概述的2个情感包:

npm install @mui/material @emotion/react @emotion/styled

即使您只使用来自@mui/icons-材料包的MUI图标,您也需要如本答案所述的上述2个包。我认为你没有任何错误的唯一原因是因为你还没有使用任何MUI组件,或者你正在使用一些没有样式的组件,比如UnstyledButton,这是一个没有任何样式应用于它的原始组件。

编辑:你可以不带感情地安装@mui/材料的原因是因为它已经被从这里的package.json中看到的@hookform/devols包安装了。如果你卸载了两个包,只重新安装@mui/材料,它会再次抱怨缺少情感依赖。

npm un @mui/material @mui/lab @mui/icons-material @hookform/devtools
npm i @mui/material @mui/lab @mui/icons-material