ПОЧЕМУ REDUX НЕ МЕРТВ, даже если каждый год вы можете прочитать некоторые статьи или разработчиков, которые говорят об обратном?

Во-первых, я люблю #redux, особенно после того, как был выпущен «Redux Toolkit (RTK)» и RTK-запрос. Он был значительно упрощен по сравнению с прошлым.

Redux Toolkit предлагает несколько утилит для управления вашим магазином, действиями, селекторами, побочными эффектами, а теперь (благодаря Redux Toolkit Query) кэшированием, предварительной выборкой, состояниями загрузки/ошибки/ожидания, нумерацией страниц и многим другим.

Redux — это библиотека, но также и шаблон: вам не нужно каждый раз изобретать велосипед, и каждый разработчик в вашей команде может легко понять, что вы делаете и где найти материал, поскольку он самоуверен.

📘 ИНСТРУМЕНТЫ РАЗРАБОТКИ REDUX
Есть много причин, по которым я люблю Redux, но одна из самых важных — это то, что у него есть потрясающие «Инструменты разработчика Redux».
Как видно из прикрепленного изображения, вы можете держать все под контролем, и это важно, когда ваше приложение растет, и вам приходится управлять сложными состояниями по отношению друг к другу.
Кроме того, также полезно понимать поток ваших действий и то, как работает ваше приложение.

Описание изображения

Давайте представим сложный процесс аутентификации или сложные представления, которые включают в себя множество шагов, побочных эффектов и обновлений состояния: старые и новые члены команды могут легко понять, как работает ваше приложение, просто открыв Redux Dev Tools.

В любом случае основные вкладки Redux Dev Tools являются наиболее важными и позволяют вам отслеживать что угодно:

1) какое действие испускается и его полезная нагрузка
2) текущее состояние и как оно обновляется после действия
3) что изменилось по сравнению с предыдущим состоянием (благодаря полезной панели DIFF)

Но есть еще:
➡️ Отладка путешествий во времени
➡️ Перейти и пропустить действия
➡️ сохранять и загружать снимки в формате JSON (представьте, что у вас есть ошибка: вы можете сохранить снимок, отправить кому-либо и заново создать сценарий)
➡️ удаленная отладка
➡️ увидеть структуру своего состояния с помощью «диаграммы графика»
➡️ и многое другое…

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

😅 НЕПОПУЛЯРНЫЕ МНЕНИЯ

1) Контекст не является действительной заменой Redux.
2) Я люблю Zustand, JOTAI, Valtio и других менеджеров микросостояний. Они очень просты в использовании и являются надежными решениями для многих сценариев.
3) Я знаю, что некоторые из этих менеджеров состояний частично поддерживают Redux Dev Tools, но не полностью из-за разных подходов.
4) Мы можем написать менеджер состояний с нуля или использовать Context или другие менеджеры состояний для создания нашего собственного менеджера состояний, но зачем изобретать велосипед?
Redux существует с самого начала, он надежен, протестирован, имеет огромную экосистему, поддерживается и хорошо известен многим разработчикам.