Что такое Redux

Ответ

Redux — это библиотека для управления состоянием приложения. Она основана на принципах Flux и использует однонаправленный поток данных.

Основные концепции:

  1. Store — единый источник правды, хранит состояние всего приложения.
  2. Actions — простые объекты, описывающие изменения (например, { type: 'ADD_TODO', payload: 'Learn Redux' }).
  3. Reducers — чистые функции, которые принимают текущее состояние и action, возвращают новое состояние.

Пример:

const initialState = { todos: [] };

function todoReducer(state = initialState, action) {
  switch (action.type) {
    case 'ADD_TODO':
      return { ...state, todos: [...state.todos, action.payload] };
    default:
      return state;
  }
}

const store = createStore(todoReducer);
store.dispatch({ type: 'ADD_TODO', payload: 'Learn Redux' });

Плюсы:

  • Предсказуемость (изменения только через actions).
  • Централизованное состояние.
  • Легко тестировать (редьюсеры — чистые функции).

Минусы:

  • Избыточность для простых приложений.
  • Boilerplate-код.

Для современных проектов часто используют Redux Toolkit, который упрощает настройку.