我正在将Angle 4中的NGRX添加到我的应用程序中。
我在通过地图对象更新商店时遇到问题。
我的商店是Map<string,MyObj>;
当我更新地图时,商店也会更新,但是可观察到的更改不会在我的商店上触发。
const ACTION_Increment = (state: Map<string,MyObj> = initialState, action:Increment) => {
if(!state.get(action.payload.id)) state.set(action.payload.id, action.payload.myobj);
else state.set(action.payload.id, {...state.get(action.payload.id), ...action.payload.myobj});
console.log("Status Updated : ", state)
return state;
}
const ACTION_Decrement = (state: Map<string,MyObj> = initialState, action:Increment) => {
console.log("Status Updated : ", state)
return new Map<string,MyObj>();
}
这里是StackBlitz的一个例子。
如果您单击+,我会向我的商店中添加一个随机元素,但不会触发任何触发器,如果按-我会重置地图,因此分配一个新对象,在这种情况下,会触发触发器。
如何在展位情况下触发它?
答案 0 :(得分:0)
修正:
return new Map(state);