繁体   English   中英

使用 immer 不能修改属性 Number of nested object

[英]Using immer can not modify property Number of nested object

我正在使用 Angular 2+ 和 Redux 并且很好,但不能用新值修改数量

错误是:TypeError: Cannot assign to read only property 'quantity' of object '[object Object]'

export interface CartState {
    readonly cars: CartCarModel[]
  }

  export class CartCarModel {
    constructor (
      public carId: string,
      public carModel: string,
      public quantity: number,
      public price: number) { }
  }


  const initialState: CartState = {
    cars: []
  }

  function reducerFunc (state: CartState, id: string, quantity: number) {
    const nextState = produce(state, draft => {
    draft.cars.find(d => d.carId === id).quantity = quantity
  })

  return Object.assign({}, state, {
    drinks: nextState
  })
}

因为在 redux 中你不能修改 state 的值你必须复制这些值所以使用map而不是find我希望事情进展顺利

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM