Обновление Material-UI v1.xx - PullRequest
0 голосов
/ 25 мая 2018

Мое приложение в настоящее время использует Material- / ui v0.17.0, и для того, чтобы оно работало с React v16.0.0, мне нужно перейти на Material-UI v1.0.0.

Я видел инструмент миграции здесь .Это просто обновляет операторы импорта более или менее.Многие реквизиты, похоже, изменились и не имеют обратной совместимости.Инструмент на самом деле не будет работать для меня, поэтому я вручную обновил весь свой импорт.Похоже, мне нужно переписать весь код этого приложения, используя новые обновленные компоненты v1.0.0.Должен быть лучший способ сделать это.Я понимаю, что основные изменения в версии - это «критические» изменения, но это обновление версии может быть совершенно новым пакетом.Я не могу быть единственным человеком, которому пришлось обновиться до v1.0.0, и мне любопытно, как другие смогли успешно выполнить миграцию.

Ответы [ 2 ]

0 голосов
/ 19 июня 2018

Для моего конкретного проекта решение, как мне показалось, заключалось в том, что я мог бы использовать react v16.4.1 с material-ui v0.20.0.При этом мне пришлось сбросить react-tap-event-plugin, что несовместимо с react версиями> = 16.4.0.Это включало преобразование тегов onTapEvent в onClick.К счастью, из-за того, что мне не пришлось обновлять новую основную версию material-ui, мне не пришлось обновлять свои компоненты, что было моим страхом.

Помимо всего этого, я потратил некоторое время на преобразование material-uiкомпоненты до v1.2.0, прежде чем я пришел к своему решению, которое не требует этих модификаций компонентов.При попытке выполнить эти изменения документация была редкой.Я нашел другой поток Stack Overflow, спрашивающий о переходе на v1.xx здесь .

В этом потоке я связался с парой проблем с github, которые вызвали такую ​​же проблему, и они, вероятно,ценный ресурс, на который стоит обратить внимание, если вы сами пытаетесь осуществить переход с этой версии.

[документы] 0.x => 1.x руководство по миграции # 7195

Ошибка Codemod при обновлении с v0.18.7 до v1.1.0 # 11819

, а также некоторый код, который кто-то задокументировал при выполнении перехода.

Вот проект, в котором кто-то прошел обновление до mui 1.xx с 0.xx

0 голосов
/ 25 мая 2018

Как вы заметили, API не имеет обратной совместимости, и руководство по миграции следует продолжить ... Я думаю, что для этого есть причина.

Хотя большинство компонентових замена, похоже, что не существует простого способа миграции, особенно потому, что некоторые компоненты, такие как автозаполнение, отсутствуют в 1.x.Если вы потратили много времени на рестайлинг компонентов, касаясь внутренних деталей, вам будет еще труднее, поскольку в 1.x JSS предложен способ стилизации.

Единственный способ, которым я сейчас вижу, - это переписать его компонентпо компонентам.Это не то, что вы хотели бы прочитать в руководстве по миграции:)

...