我有这样的东西:
ngOnInit() {
this.reduxServiceHandle = this.reduxService.subscribe(() =>
this.reduxUpdates()
);
}
reduxUpdates(): void {
const newState: TransportationControlTowerState = this.reduxService.getState();
// Check if feature groups object has changed
if (!isEqual(this.groups, newState.groups)) {
...
this.groups = newState.groups;
}
}
这是我的减速器
case TransportationControlTowerActions.ADD_GROUP:
return newState = {
...state,
groups: { ...state.groups, [payload.groupId]: payload.group }
};
break;
所以,我的问题是:在将状态保存到this.groups道具上之前,是否需要克隆深状态? this.groups = newState.groups;
我认为每次更改redux状态时,我都会返回一个新的状态对象,因此我的本地状态(this.groups)指向旧状态不会有问题。
但是我只想确保我没有遵循任何反模式。
此致
答案 0 :(得分:0)
官方Redux文档说:
上查看完整的核心原则列表。状态为只读
改变状态的唯一方法是发出一个动作,一个描述发生了什么的对象。
这确保了视图和网络回调都不会直接写入状态。相反,他们表达了改变国家的意图。