我有一个带有对象数组的 ngrx 商店。我正在寻找的是,使用数组索引更新(修改)数组内的对象。我的 ngrx 数据看起来像,
policies: {
beneficiaries: {
beneficiaries: [{
name: 'pqr'
age: 56
},
{
name: 'xyz'
age: 76
}
]
}
}
Run Code Online (Sandbox Code Playgroud)
我必须根据数组索引更新受益人姓名。所以我实现了以下reducer功能
on(policiesActions.updateBeneficiaryPercentage, (state, action) => {
return {
...state,
beneficiaries: {
...state.beneficiaries,
beneficiaries: {
...state.beneficiaries.beneficiaries,
[action.index]: {
...state.beneficiaries.beneficiaries[action.index],
name: action.value
}
}
}
};
})
Run Code Online (Sandbox Code Playgroud)
上面代码的问题是,运行这段代码后,我的商店结构变成了
policies: {
beneficiaries: {
beneficiaries: {
0: {
name: 'pqr'
age: 1000
},
1: {
name: 'xyz'
age: 76
}
}
}
}
Run Code Online (Sandbox Code Playgroud)
请帮我修复代码,以便我可以在不改变存储结构的情况下更新值。