Реакт без редакса
@ychebotaevRedux можно считать деконструированной парадигмой. И вот почему:
- Контекст достаточно хорошо решает задачи глобального состояния.
- Редакс многословен, когда дело доходит до управления запросами на сервер.
- Хранение форм в редаксе деконструировано, а формы важная часть приложения.
- Редакс требует много бойлерплейта. Даже с хелперами все равно много бойлерплейта.
Что потом?
Веб-приложения никогда не были и вряд-ли когда-то будут автономными. За каждым веб-приложением стоит база данных, которая обеспечивает постоянное хранение и доступ.
Промежуточный слой, middleware — по-сути просто «налог» на базу данных. По ряду причин не возможно обращаться к базе данных напрямую с фронта (и безопасность не единственная), но чем меньше усилий приходится на промежуточный слой, тем лучше.
И GraphQL здесь занимает лидирующую позицию.
Понятно, что GraphQL очень инновационная, прорывная технология, и решение в его пользу будет не только техническим, но и политическим.
Так что HTTP–JSON API еще долго будут достаточно хороши.
Моя рекомендация
Моя рекомендация пока что лишь теоретическая: сам я пока не выпускал проектов с такой комбинацией библиотек, но в будущем так и поступлю.
Для HTTP–JSON API я выбрал useSWR для взаимодействий с сервером и react-tracked для глобального состояния.
Для GraphQL API apollo-graphql.