gpt4 book ai didi

reactjs - 如何使用扩展函数删除 React 中的嵌套对象

转载 作者:行者123 更新时间:2023-12-04 08:31:53 25 4
gpt4 key购买 nike

我正在使用 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
}
有什么方法可以使用扩展运算符删除所需的属性?

最佳答案

这是一种方法:

case REMOVE_PRODUCT_FROM_CART:
const newObject = {...state[productId]}
delete newObject[varient]
return {...state, [productId]:newObject}
这是另一种方法:

const state = {
22: {
ok: 88,
remove: 22,
},
};
const productId = 22;
const varient = 'remove';
const { [varient]: ignore, ...product } = state[productId];
console.log('new state', {
...state,
[productId]: product,
});

关于reactjs - 如何使用扩展函数删除 React 中的嵌套对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64981884/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com