Что такое flux?
Продвинутые темы
Flux — это архитектурный паттерн управления состоянием с однонаправленным потоком данных, предложенный Facebook. Он лёг в основу Redux.
Однонаправленный поток
Данные движутся строго в одну сторону, что делает изменения предсказуемыми:
Action → Dispatcher → Store → View → (новый Action)Компоненты
- Action — объект с описанием события (
{ type, payload }). - Dispatcher — единый хаб, рассылающий actions всем store.
- Store — хранит состояние и логику его изменения, уведомляет View.
- View — отображает состояние и порождает новые actions.
Зачем нужен
Решает проблему хаотичного двустороннего связывания (как в MVC), где трудно проследить, что меняет состояние. Однонаправленность делает поток отслеживаемым и отлаживаемым.
Flux против Redux
Redux — упрощение Flux:
- Один store вместо многих.
- Нет отдельного dispatcher (его роль —
store.dispatch). - Изменения через чистые reducers.
Коротко для собеседования
Flux — паттерн с однонаправленным потоком: Action → Dispatcher → Store → View. Устраняет хаос двустороннего связывания MVC, делая изменения предсказуемыми. Redux — его упрощение: один store, без dispatcher, изменения через чистые reducers.