Модификация карты не вызывает обновления магазина - PullRequest
0 голосов
/ 11 января 2019

Я добавляю NGRX к своему приложению в угловых 4.

У меня проблема с обновлением магазина поверх объекта карты.

Мой магазин 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 .

Если вы нажимаете +, я добавляю случайный элемент в свой магазин, но триггер не срабатывает, если я нажимаю - я сбрасываю карту, поэтому назначаю новый объект, и в этом случае срабатывает триггер.

Как я могу заставить его срабатывать в ситуации на стенде?

1 Ответ

0 голосов
/ 11 января 2019

Исправлено:

return new Map(state);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...