【发布时间】:2020-11-24 07:23:38
【问题描述】:
我正在使用 react-redux 开发一个简单的购物车功能,并且我有一个结构如下的对象:
{
0: { // product ID
"S" : 1, //product variant and item count
"M" : 1
},
1: {
"L":1
"XL": 5
},
}
我想根据用户操作删除该属性,但到目前为止我无法实现。
尝试 1:删除功能将删除状态内的所有内容,而不是删除选定的属性。
case REMOVE_PRODUCT_FROM_CART:
let newObject = Object.assign({}, state)
return delete newObject[productId][varient];
尝试2:仅设法将属性设置为null,但仍无法删除该项目。
case REMOVE_PRODUCT_FROM_CART:
return {...state,
[productId]: {
// check if property exists
...(state?.[productId] ?? {}),
[varient]: null
}
有没有什么方法可以使用扩展运算符删除所需的属性?
【问题讨论】:
标签: reactjs react-redux