我尝试使用redux修改当前状态的值。 在这里我的状态:
tickets : {
high_tickets: [
{
"value": value,
"value": value,
"value": value,
"value": value,
"visibility": 1
},
{
...
}
],
low_tickets: [
...
]
}
这是我的减票机:
case 'HIDE_TICKET':
const i = action.index
if(action.typeFraud == "high") {
state = {
"high_tickets": [
...state.high_tickets.slice(0,i),
{
...state.high_tickets[i],
"visibility": 0
}
...state.high_tickets.slice(i + 1),
],
"low_tickets": [
...state.low_tickets
]
}
}
else if(action.typeFraud == "low") {
...
}
return state
break;
我在第{...state.high_tickets[i],"visibility": 0}
行有一个错误。意外的tocken。
如何只修改我的对象的一个值,而不是重新设置我的reducer中的所有值。
感谢。
答案 0 :(得分:2)
如果要改变现有对象,可以使用Object.assign(state.high_tickets[i], { visibility: 0 })
;如果要创建全新对象,可以使用Object.assign({}, state.high_tickets[i], { visibility: 0 })
。
看起来像:
"high_tickets": [
...state.high_tickets.slice(0,i),
Object.assign(...),
...state.high_tickets.slice(i + 1),
]