Reducer - инструмент для управления состоянием в React

Reducer - это функция, которая принимает предыдущее состояние (state) и действие (action), а затем возвращает новое состояние. Она является частью парадигмы управления состоянием, которая широко используется в различных фреймворках и библиотеках, таких как Redux в React и NGRX в Angular.

Пример кода на JavaScript, использующий Redux и редьюсер:

javascript
// определение начального состояния
const initialState = {
  counter: 0
};
// определение редьюсера
const counterReducer = (state = initialState, action) => {
  switch (action.type) {
    case 'INCREMENT':
      return { ...state, counter: state.counter + 1 };
    case 'DECREMENT':
      return { ...state, counter: state.counter - 1 };
    default:
      return state;
  }
};
// создание хранилища Redux
const store = Redux.createStore(counterReducer);
// диспетчеризация действий
store.dispatch({ type: 'INCREMENT' });
console.log(store.getState()); // { counter: 1 }
store.dispatch({ type: 'DECREMENT' });
console.log(store.getState()); // { counter: 0 }

В этом примере редьюсер `counterReducer` принимает состояние `state` и действие `action`. В зависимости от типа действия, он возвращает новое состояние путем изменения значения `counter` в объекте. Изменения состояния происходят с использованием распылений (`...state`), чтобы сохранить все остальные свойства состояния неизменными. При вызове диспетчера `dispatch` с определенным действием, таким как `INCREMENT` или `DECREMENT`, новое состояние доступно через вызов `getState` хранилища Redux.

Похожие вопросы на: "reducer "

Node Version Manager - легкий способ контроля версий Node.js
Java Exception - Understanding and Handling Exceptions in Your Code
Класс QString: руководство для начинающих
Как пройти тест Google: подробные инструкции и советы
Date Format in MySQL: Best Practices and Examples
PHP Текущая Дата: Как получить текущую дату в PHP
Капча Google: защита от роботов и спамеров
SessionStorage: что это и как оно работает
Массив в строку JavaScript: примеры и подходы
Проверка на undefined в JavaScript