我是Redux/NgRx
的新手,也是JavaScript的新手。尝试实施样本状态更改。我了解到,当我在化简器中调度动作时,应该从以前的状态创建一个新状态,并更新它的一部分并返回。从而不改变现有状态。但是,在下面的代码中,我总是在开发工具中看到我的状态正在突变,而不是新版本。减速器有什么不对?
减速器:
export interface State {
transactions: []
}
export function trasactionReducer (state: State, action: txActions.Actions) {
switch (action.type) {
case txActions.LOAD_ACCOUNT_TRANSACTION:
return {...state};
case txActions.STORE_ACCOUNT_TRANSACTION:
return {...state,
transactions : action.payload
};
default:
console.log("transactionReducer, defaul action triggerred for action: "+ action.type);
return state;
}
}
答案 0 :(得分:0)
正如评论中已经说过的,我认为您不是直接改变状态。 如果您想确定的话,可以在开发人员模式下使用ngrx-store-freeze软件包,如果您对状态进行了更改,则会抛出错误。