Как использовать 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/react-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? Так неловко.


person hairbo    schedule 28.05.2019    source источник


Ответы (1)


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

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

https://github.com/cssinjs/react-jss заархивирован из-за реструктуризации быть частью jss monorepo (несколько пакетов в одном репозитории 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

Вам также следует выяснить, нужно ли вам использовать response-jss напрямую или просто использовать jss-оболочки в Material-UI (например, withStyles, makeStyles и т. Д.).

person Ryan Cogswell    schedule 28.05.2019
comment
Спасибо, Райан. В моем коде есть много мест, где я использую react-jss вне контекста Material-UI. Может быть, в конечном итоге у меня есть способ свести все к одному способу ведения дел, но сейчас мне нужны оба пути. - person hairbo; 29.05.2019
comment
Райан, еще один вопрос. Когда я узнаю немного больше о MUIv4, мне кажется, что я должен полностью отказаться от react-jss и заменить его на @material-ui/styles. Похоже, это будет более или менее простая замена, не так ли? Я все еще могу использовать синтаксис JSS в этом случае, и я могу использовать @material-ui/styles для стилизации элементов, не относящихся к MUI, если я правильно понимаю. Верно? - person hairbo; 04.06.2019
comment
Верный. Это то, о чем я имел в виду в конце своего ответа. - person Ryan Cogswell; 04.06.2019
comment
Да, теперь я это вижу. Просто потребовалось немного, чтобы заставить эту лошадь напиться. (-; - person hairbo; 04.06.2019