Обычно редукторы имеют оператор switch внутри, но это не является обязательным требованием. Reducer - это просто функция, которая принимает предыдущий ввод в качестве первого аргумента, действие (тип и полезную нагрузку) в качестве второго аргумента и возвращает то же состояние (если не найдено ни одного условия) или новое состояние. Но не обязательно использовать оператор switch. Итак, что вы делаете в этом редукторе, это то, что передается, когда второй аргумент объединяется в предыдущем состоянии.
const reducer = (state, newState) => ({... state, ... newState});
совпадает с
const reducer = (state, newState) => {
return { ...state, ...newState };
}
например
const initialState = { a: 1, b: 2 };
При установке нового состояния
setState({ b: 3, c: 4});
вызовет редуктор с предыдущим состоянием(начальное состояние) и выше объекта в качестве второго аргумента и редуктор вернет состояние после слияния
{ ...initialState, ...newState } // pseudo code
{ ...{a: 1, b:2 }, ...{ b:3, c: 4} }
{ a: 1, b: 3, c: 4 } // returned result