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

How to use react-jss with MaterialUI 4?

我已经使用 react-jssmaterial-ui 一段时间了。 material-ui 3.x -> 4.x 迁移 guide 表示 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

所以我对如何将 React-JSS 与 MUI 4 一起使用完全感到困惑。在 package.json 中是否导入了 "react-jss": "8.6.1", 以外的东西?我应该切换到 Emotion 还是 Styled Components?好迷茫。

您可以使用:

"react-jss": "10.0.0-alpha.16"

https://github.com/cssinjs/react-jss is archived because of it being restructured to be part of the jss monorepo (multiple packages in one GitHub repository): https://github.com/cssinjs/jss/tree/master/packages/react-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

您还应该考虑是否需要直接使用 react-jss 还是仅使用 Material-UI 中的 jss 包装器(例如 withStylesmakeStyles 等.).