Это из-за того, как был написан редуктор:
const reducer = (state,action) => {
return action;
};
Отправленное значение принимается как второй action
параметр в редукторе.Новое состояние устанавливается в значение, которое было возвращено из редуктора, то есть action
.Таким образом, useReducer
функция отправки работает так же, как useState
установщик состояний.Это примерно то, что происходит внутри useState
, поскольку он использует useReducer
для внутреннего использования.
Он будет вести себя иначе, если будет возвращено что-либо, кроме action
.