Чистая функция:

  1. Возвращает значение и зависит только от аргументов. Считаем результат основываясь только на аргументах.

    Например:

(a, b) => a > b ? a : b - чистая функция (a) => Math.random() * a - нечистая функция

  1. У функции нет побочных эффектов Это любое изменение внешнего состояния. Функция Reducer - это чистая функция.