避免 NgRx 减速器中的状态突变



我是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;
}
}

正如评论中已经说过的,我认为您并没有直接改变状态。 如果你想确定,你可以在开发模式下使用 ngrx-store-freeze 包,如果你确实改变了状态,这将引发错误。

最新更新