Material-UI v5 无法使用样式组件和打字稿?

Mar*_*ode 13 typescript reactjs material-ui

我正在尝试将 mui-v5 与样式组件和打字稿一起使用。然而,即使我将这一行添加到我的 tsconfig 中之后:

"paths": {
  "@mui/styled-engine": [ "./node_modules/@mui/styled-engine-sc" ]
}
Run Code Online (Sandbox Code Playgroud)

我收到错误:

找不到依赖项:相对于“/node_modules/@mui/styled-engine/index.js”的“@emotion/styled”

当做:import { ThemeProvider } from "@mui/material/styles";

我制作了一个代码沙箱来展示我的设置。

有谁知道我做错了什么?

thu*_*ug_ 20

您需要添加@emotion/styled和@emotion/react到依赖项

  • 但我认为使用样式组件的全部意义在于我不需要情感 (2认同)
  • 这些指示确实令人困惑。如果它是可选的,是否意味着您不需要它们? (2认同)

Kae*_*lyn 10

您不需要添加@emotion/styled. mui安装说你可以使用情感或样式组件

我知道这些说明有点令人困惑,但我只是复制/粘贴了mui.com/guides/styled-engine/中的 package.json 部分,它对我有用

包.json:

{
  "dependencies": {
    "@mui/material": "^5.0.0",
    "styled-components": "^5.3.1",
  },
  "devDependencies": {
    "@mui/styled-engine": "npm:@mui/styled-engine-sc@latest",
    "@types/styled-components": "^5.1.14",
  },
  "resolutions": {
    "@mui/styled-engine": "npm:@mui/styled-engine-sc@latest"
  }
}
Run Code Online (Sandbox Code Playgroud)

  • 问题是这只适用于“yarn”,因为“分辨率”是一个yarn的东西 (5认同)
  • 啊哈!谢谢,它确实拯救了我的夜晚。 (2认同)