Я получаю ошибку ниже, когда пытаюсь увеличить количество, используя ngrx store. Я пробовал подобные вопросы на stackoverflow, но это не помогло
, в основном я пытаюсь нажать cartActions.ADD_COUNT, и я получаю сообщение об ошибке как 'core. js: 6185 ОШИБКА TypeError: Невозможно назначить только для чтения свойство' ProductCount ' объекта '[object Object]' '
// Reducer
export function reducer(state: Cart[] = [initialProduct], action: cartActions.actions) {
console.log(action.payload);
switch (action.type) {
case cartActions.ADD_PRODUCT:
return [...state, action.payload];
break;
case cartActions.ADD_COUNT:
// let count = state[action.payload].ProductCount++
state[action.payload].ProductCount = state[action.payload].ProductCount++;
console.log(state);
return state;
break;
case cartActions.SUB_COUNT:
return state[action.payload].ProductCount = state[action.payload].ProductCount--;
break;
default:
return state;
}
}
// Action
export const ADD_PRODUCT = '[CART] ADD PRODUCT';
export const ADD_COUNT = '[CART] ADD COUNT';
export const SUB_COUNT = '[CART] SUB COUNT';
export class AddProduct implements Action {
readonly type = ADD_PRODUCT;
constructor(public payload: Cart) { }
}
export class AddCount implements Action {
readonly type = ADD_COUNT;
constructor(public payload: number) { }
}
export class SubCount implements Action {
readonly type = SUB_COUNT;
constructor(public payload: number) { }
}
export type actions = AddProduct | AddCount | SubCount;
<ul *ngFor="let prod of cartList | async; let i = index">
<li>{{prod.productName}} - {{prod.ProductCount}} <button type="button" (click)="addCount(i)">Add</button> <button
type="button" (click)="subCount(i)">Remove</button></li>
</ul>