Поговорим за стейт-менеджмент? Кто что использовал для управления стейтом?
Помимо понятного всем Redux, который до сих преследует в кошмарах и легаси-коде я использовал:
Apollo Client - пожалуй самый энтерпрайзный вариант из не-redux. Энтерпрайзный за счет того, что код на нем получается более менее одинаковый у всех. Легко подключать еще разработчиков на проект apollographql.com/docs/react/
Я состовлял awesome-list по Эффектору github.com/effector/aweso…
И писал статью: dev.to/lessmess/react…
Использовал также Стореон github.com/storeon/storeon - офигенно для маленьких проектов
Тысячу лет назад использовал MobX - но не зашло, магия + декораторы (фу-фу-фу) + слишком здоровый бандл
Писал и просто на Реакт хуках/стейте - но не рекомендую, код быстро становится неподдерживаемым.
Что еще интересно?
github.com/artalar/reatom - выглядит очень круто, но я сам, к сожалению, не пробовал. Автор - Артем @artalar_dev
У Артема также есть список с разными стейт-менеджерами gist.github.com/artalar/e5e8a7…
github.com/pmndrs/zustand - мне просто нравится иллюстрация, не пробовал
Интересная встреча по стейт-менеджерам была на @_tverio
youtube.com/watch?v=cUSyJk…
Самый проблемный момент - никто не знает, где же должна находиться бизнес-логика проекта. (Копий на эту тему было сломано много, но добавьте свои пять копеек).
В принципе, для стейт-менеджемента еще можно использовать вещи, изначально может быть не слишком для него предназначенные
Например, Firebase, в котором можно подписываться на изменения firebase.google.com/docs/database
Можно написать врапер над RxJS rxjs-dev.firebaseapp.com/guide/overview. Уже есть реактивность, надо просто где-то накапливать стейт. Так, например, делает undux.org
Логакс, вдохновленный CRDT logux.io
Не та! dev.to/lessmess/why-i…
Одно точно могу сказать: стоит выйти из зоны комфорта в виде Redux и попробовать какой-то альтернативный стейт-менеджер. Если не на реальном проекте, то хотя бы на пет. Возможно ваша жизнь никогда не будет прежней, как моя после Эффектора dev.to/lessmess/why-i…