Во-первых, извините за мой английский… Во-вторых, мне так не нравится Redux, что я разработал совершенно новый фреймворк для управления состоянием в Javascript. Он называется MetaphaseJS.

а) Здесь есть ДЕМО

б) Вот РЕПОЗИТОРИЙ на Github

Функции:

  • Простота: без обратных вызовов, без асинхронного кода, без функциональных и неизменяемых сложностей.
  • Независимый: его можно использовать с ReactJS, Angular, Vue, React Native, vanilla JS и т. д. Просто подключи и работай
  • State — настоящая реляционная база данных SQLite.
  • Состоянием можно управлять с помощью SQL-запросов, генерируемых Metaphase ORM (Object-Relational Mapper). Он реализует следующие шаблоны:

а) Репозиторий

б) Активная запись

  • Состояние можно сохранить в файл базы данных на диске
  • Состояние может быть спроектировано и заполнено любым инструментом базы данных, поддерживающим SQLite (даже с использованием графического интерфейса без использования кода), а затем его можно импортировать в приложение.
  • Высокая производительность и удовлетворенность разработчиков. Например, целую систему блогов можно разработать за считанные минуты.
  • Идеально подходит для статически сгенерированного контента (например, статических блогов без серверной базы данных)
  • Комплексная и переключаемая система регистрации. Его можно отключить в рабочей среде для повышения производительности. Простой параметр запроса URL управляет регистратором http://url-app?logger=true/false
  • Использование Reflection-Metadata API и декораторов для упрощения определений моделей (при использовании Typescript)
  • В SQLite по умолчанию все операции являются транзакционными. Это означает защиту от условий гонки, когда доступ к состоянию осуществляется асинхронной записью.