我对此很陌生,如何将所有数组添加到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((。