У flux двунаправленная или однонаправленная связь

«У flux двунаправленная или однонаправленная связь» — вопрос из категории Архитектура, который задают на 10% собеседований Frontend Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Flux использует однонаправленный поток данных. Это ключевая особенность архитектуры. Данные движутся в одном направлении:

  1. Action → 2. Dispatcher → 3. Store → 4. View

Пример:

// Action
const addTodo = (text) => ({
  type: 'ADD_TODO',
  payload: text
});

// Dispatcher (в реальности — единый централизованный)
dispatch(addTodo('Learn Flux'));

// Store обновляет состояние
// View получает изменения и перерисовывается

Однонаправленность упрощает отладку и предсказуемость состояния. Обратная связь (например, пользовательский ввод) создает новые Actions, но не меняет направление потока.