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