Я новичок в React & Redux, и меня смущает манипулирование состоянием в редукторах.
В большинстве статей, документации я постоянно вижу, что состояния неизменны, и мы никогда не должны обновлять состояние. Мы всегда должны использовать ...state
или object.assign
в редукторах
Однако в известных уроках ( Cory House или в других местах (например, Здесь, на GitHub ) они обновляют состояние следующим образом:
var initialState = {
numberOfAjaxCall: 0
}
const ajaxStatusReducer = (state = initialState.numberOfAjaxCall, action) => {
if (action.type === AJAX_BEGIN_CALL) {
return state + 1;
}
return state;
}
Почему эти коды не написаны так, как показано ниже?
var initialState = {
numberOfAjaxCall: 0
}
const ajaxStatusReducer = (state = initialState, action) => {
if (action.type === AJAX_BEGIN_CALL) {
return {
...state,
numberOfAjaxCall: state.numberOfAjaxCall + 1
};
}
return state;
}
Я хотел бы знать, неверен ли мой код или нет. Или я неправильно понял Redux & Reducers или не понимаю, как эти коды реализованы?
Не могли бы вы помочь мне прояснить эти стили кодирования?