case SET_WINE_ITEMS:
const { index, name, value } = action.payload
const items = state.items
items[index][name] = value
return { ...state, items }
使用扩展运算符实现上述代码是否有简洁的方法?
答案 0 :(得分:0)
感谢您的评论。我的对象数组的结构如下,其中items数组中可以有许多对象。
items: [{
name: '',
code: '',
quantity: '',
netBottlePrice: '',
netCasePrice: '',
caseSize: '',
volume: '',
volumeUnit: '',
amount: ''
}]
我找到了一种方法来完成更新redux状态而不使用扩展运算符进行变更:
case SET_WINE_ITEMS:
const { index, name, value } = action.payload
const item = { ...state.items[index], [name]: value }
const items = [...state.items.slice(0, index), item, ...state.items.slice(index +1) ]
return { ...state, items }