Как использовать react-jss с MaterialUI 4?

Я уже некоторое время использую 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? Так запутался.

Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Навигация по приложениям React: Исчерпывающее руководство по React Router
Навигация по приложениям React: Исчерпывающее руководство по React Router
React Router стала незаменимой библиотекой для создания одностраничных приложений с навигацией в React. В этой статье блога мы подробно рассмотрим...
Массив зависимостей в React
Массив зависимостей в React
Все о массиве Dependency и его связи с useEffect.
4
0
2 054
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы можете использовать:

"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 и т. д.).

Спасибо, Райан. В моем коде много мест, где я использую react-jss вне контекста Material-UI. Возможно, в долгосрочной перспективе у меня появится способ свести все к одному способу ведения дел, но сейчас мне нужны оба способа.

hairbo 29.05.2019 15:32

Райан, еще один вопрос. Когда я узнаю немного больше о MUIv4, мне кажется, что я должен полностью отказаться от react-jss и заменить его на @material-ui/styles. Кажется, что это будет более или менее заменой, верно? В этом случае я все еще могу использовать синтаксис JSS, и я могу использовать @material-ui/styles для стилизации элементов, отличных от MUI, если я правильно все понимаю. Верно?

hairbo 03.06.2019 23:06

Правильный. Это то, что я имел в виду в конце своего ответа.

Ryan Cogswell 03.06.2019 23:27

Да, я вижу это сейчас. Потребовалось совсем немного, чтобы напоить эту лошадь. (-;

hairbo 04.06.2019 08:08

Другие вопросы по теме