如何在 MaterialUI 4 中使用 react-jss?

hai*_*rbo 4 reactjs material-ui jss css-in-js

我用react-jssmaterial-ui,现在一会儿。material-ui 3.x -> 4.x 迁移指南说 MUI 4 与 React JSS 9.x 不兼容:

https://material-ui.com/guides/migration-v3/

此外,该react-jss项目似乎已存档:

https://github.com/cssinjs/react-jss

...但 JSS 至少要到第 10 版:

https://cssinjs.org/?v=v10.0.0-alpha.16

所以我对如何在 MUI 4 中使用 React-JSS 感到完全困惑。导入是不是"react-jss": "8.6.1",in之外的东西package.json?我应该切换到情感组件还是样式组件?如此迷茫。

Rya*_*ell 7

您可以使用:

"react-jss": "10.0.0-alpha.16"
Run Code Online (Sandbox Code Playgroud)

https://github.com/cssinjs/react-jss已存档,因为它被重组为 jss monorepo 的一部分(一个 GitHub 存储库中的多个包):https : //github.com/cssinjs/jss/tree/主/包/反应-jss

每次升级Material-UI时,都应该检查一下Material-UI中的jss版本是否发生了变化,以便保持同步;否则你会引入两个版本的jss。您可以在此处查看 Material-UI jss 版本:https : //github.com/mui-org/material-ui/blob/master/packages/material-ui-styles/package.json#L48

你也应该考虑是否需要直接使用反应-JSS主场迎战刚刚使用材料的UI JSS的包装(如withStylesmakeStyles等)。

  • 正确的。这就是我在答案末尾所指的。 (2认同)