Я играю с хранилищем ngrx, удаление, выборка и редактирование элементов в массиве работает очень хорошо, но проблема в том, когда я впервые вставляю объект в массив, например {id: 1, name: 'Potato', количество: 2}, два абсолютно одинаковых объекта вставляются, если я не отфильтрую его, как в приведенном ниже редукторе.
Состояние
export const initialShoppingState: ShoppingState = {
shoppingList: [],
};
Этот работает, но, вероятно, я не должен фильтровать его, чтобы предотвратить добавление одного и того жеобъект
on(ShoppingAction.shoppingItemAdded, (state, { shoppingItem }) => {
console.log(state);
return ({ ...state, shoppingList: [...state.shoppingList.filter((item) => item.id !== shoppingItem.id), shoppingItem] });
}),
Этот элемент добавляет первый элемент два раза, следующие элементы - только один раз.
on(ShoppingAction.shoppingItemAdded, (state, { shoppingItem }) => {
console.log(state);
return ({ ...state, shoppingList: [...state.shoppingList.concat(shoppingItem)] });
}),