Существует множество библиотек потоков: Redux, Reflux, Flummox, Alt, Fluxible, и этот список можно продолжать и продолжать .. Однако, если вы используете React и не используете Мне не нужны накладные расходы на дополнительную библиотеку, у меня хорошие новости: вы можете получить большую часть преимуществ flux с помощью простого React.

Все, что вам нужно сделать, это убедиться, что у вас есть компонент верхнего уровня, который:

  • Сохраняет полное состояние приложения как собственное Component.state (ваше хранилище потоков)
  • Содержит вспомогательные методы, которые изменяют состояние, поэтому вам не нужно вызывать setState напрямую (ваши действия flux).
  • Передает свой экземпляр своим дочерним элементам (дочерние элементы действуют как представления потока).

По умолчанию React повторно визуализирует дочерние компоненты при изменении состояния верхнего компонента, поэтому вы получаете однонаправленный поток данных бесплатно.

Вот пример приложения TodoMVC, реализованного с этой архитектурой:
https://github.com/alexishevia/blogExamples/tree/simple_flux

Примечание. Технически вам по-прежнему не хватает диспетчера, чтобы получить полную реализацию Flux, но для многих проектов эта упрощенная архитектура отлично работает. YMMV.