我的状态对象如下:
const [result,setResult] = useState({
series: [
{
name: 'Budget',
data: [5000, 3000, 5000, 7000, 6000, 4000]
},
{
name: 'Income',
data: [8000, 1000, 7000, 2000, 5000, 3000]
}
]
})
现在,我想向第一个data
对象中的series
数组添加一些数据
{
name: 'Budget',
data: [5000, 3000, 5000, 7000, 6000, 4000]
}
我尝试这样做:
function addNumber(){
setResult([...result.series[0].data,45])
}
但是它不起作用。有什么建议或解决方案吗?
答案 0 :(得分:0)
最好使用不可变js更新嵌套数据,您可以使用immutableJs这样进行操作:
setResult(immutable.setIn(result, ['series', 0, 'data'], result.series[0].data.concat(45)))
或
setResult(immutable.updateIn(result, ['series', 0, 'data'], array => array.concat(45)))
指向不可变js文档的链接 https://immutable-js.github.io/immutable-js/docs/#/