Я уже некоторое время использую react-jss
с material-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/реагировать-jss
... но JSS как минимум до версии 10:
https://cssinjs.org/?v=v10.0.0-alpha.16
Итак, я совершенно не понимаю, как использовать React-JSS с MUI 4. Является ли импорт чем-то другим, кроме "react-jss": "8.6.1",
в package.json
? Должен ли я переключиться на Emotion или Styled Components? Так запутался.
Вы можете использовать:
"react-jss": "10.0.0-alpha.16"
https://github.com/cssinjs/реагировать-jss заархивирован, потому что он реструктурирован, чтобы стать частью монорепозитория jss (несколько пакетов в одном репозитории GitHub): https://github.com/cssinjs/jss/tree/master/packages/react-jss.
Всякий раз, когда вы обновляете Material-UI, вы должны проверить, изменилась ли версия jss в Material-UI, чтобы вы могли синхронизироваться; в противном случае вы будете использовать две версии jss. Вы можете проверить версию jss Material-UI здесь: https://github.com/mui-org/material-ui/blob/master/packages/material-ui-styles/package.json#L48
Вы также должны посмотреть, нужно ли вам использовать react-jss напрямую или просто использовать jss-обертки в Material-UI (например, withStyles
, makeStyles
и т. д.).
Райан, еще один вопрос. Когда я узнаю немного больше о MUIv4, мне кажется, что я должен полностью отказаться от react-jss
и заменить его на @material-ui/styles
. Кажется, что это будет более или менее заменой, верно? В этом случае я все еще могу использовать синтаксис JSS, и я могу использовать @material-ui/styles
для стилизации элементов, отличных от MUI, если я правильно все понимаю. Верно?
Правильный. Это то, что я имел в виду в конце своего ответа.
Да, я вижу это сейчас. Потребовалось совсем немного, чтобы напоить эту лошадь. (-;
Спасибо, Райан. В моем коде много мест, где я использую
react-jss
вне контекста Material-UI. Возможно, в долгосрочной перспективе у меня появится способ свести все к одному способу ведения дел, но сейчас мне нужны оба способа.