Redux-функции состояния называются reducers, потому что они следуют концепции редукции из функционального программирования. Название отражает, как эти функции накапливают и трансформируют состояние со временем.
Reducer принимает два параметра:
Затем reducer обрабатывает эти входные данные и возвращает следующее состояние. Этот паттерн повторяет метод Array.reduce() в JavaScript, который накапливает значения из коллекции в один результат.
Каждый раз, когда reducer вызывается, он получает:
Затем reducer редуцирует эти два входа, чтобы получить одно новое состояние. Можно думать об этом как о редукции последовательности действий и начального состояния в одно итоговое вычисленное состояние.
Возьми использование Array.reduce() для суммирования чисел:
[1, 2, 3].reduce((accumulator, current) =>
accumulator + current, 0
) // возвращает 6
Redux reducers работают аналогично — они накапливают изменения состояния, обрабатывая каждое действие последовательно, выстраивая итоговое состояние.
Термин "reducer" подчёркивает, что Redux-функции редуцируют коллекцию действий (плюс начальное состояние) в одно итоговое значение состояния. Такой подход функционального программирования обеспечивает предсказуемое управление состоянием и упрощает понимание того, как состояние меняется со временем.
Redux reducers называются 'reducers' потому, что они используют метод Array.reduce() внутри для обработки обновлений состояния.
Новый — ещё не проверен сообществом
Вы