我是新来的反应者和还原者,只是一个关于状态改变的问题,假设我们有以下代码:
const expensesReducer = (state, action) => {
switch (action.type) {
case 'ADD_EXPENSE':
return state.concat(action.expense) //concat doesn't change existing array
default:
return state;
}
};
有人告诉我,状态只能读取,不能更改, 所以我们不能这样编码:
state.push(action.expense); //change existing state object
return state
但是我只是尝试了一下,它返回了相同的结果, 那么为什么不应该更改状态?