React js在useState对象属性中添加数组



我对此很陌生,如何将所有数组添加到children属性中?你可以猜到我在这里想做什么,但这只得到最后一个数组,而不是每次循环都添加。

for (let i = 0; i < res.data().productioncompaniesowned.length; i++) {
setData({
id: "root",
name: "Production Company Owned",
children: [{ id: i, name: res.data().productioncompaniesowned[i] }]
});
console.log(i);
console.log(userData.Productioncompany[i]);
}

为添加对象的子对象设置一个单独的数组,如下所示:

var children = [];
for (let i = 0; i < res.data().productioncompaniesowned.length; i++) {
children.push({ id: i, name: res.data().productioncompaniesowned[i] })
}
setData({
id: "root",
name: "Production Company Owned",
children: children;
});
let arr = []; 
for (let i = 0; i < res.data().productioncompaniesowned.length; i++) { 
arr.push({ 
id: i, 
name: res.data().productioncompaniesowned[i]
});
};
setData({
id: "root",
name: "Production Company Owned",
children: arr,
});

当u循环时,一次,u将一个项目添加到状态,而不是推送到arr,Y应该在数组外部循环,然后添加到数组中。然后,使用此数据设置State((。

最新更新