Занимаешься миграцией на Redux toolkit или такая задача валяется в бэклоге? Не важно. Если когда-нибудь надо будет перевести действующий проект с Redux на toolkit, этот пост может тебе помочь!

На новом для меня проекте по истечении нескольких месяцев я решил взяться за задачку по миграции с Redux на Redux toolkit. За плечами был опыт работы и с тем, и с другим. Думал я, что задачка лайтовая, но не тут то было!

Когда я переписал весь старый код на новый лад и запустил приложение, вместо радости из-за закрытой задачи, я получил полное разочарование, ведь мой код не работал. Потратив несколько дней на решение проблемы, оказалось, что все дело в циклических зависимостях. Это когда есть, к примеру, три модуля A, B, C. A импортирует из C, B импортирует из A и , наконец, C импортирует из B. В итоге образуется циклическая зависимость между A и C. И все бы ничего, однако Redux toolkit очень болезненно реагирует на такие ситуации. В моем случае были симптомы в виде импортов , равных undefined в файлах, относящихся к Redux.

Что мне помогло? Вот такой прекрасный плагин https://www.npmjs.com/package/circular-dependency-plugin. Надеюсь, что этим постом смогу помочь коллегам по ремеслу.

Не забывайте подписываться, может расскажу еще чего-нибудь интересного 😉

#redux #frontend