【发布时间】:2021-10-06 17:14:02
【问题描述】:
我想在 React 中创建一个树对象。我的初始状态有一个 name 变量和一个子对象数组。每次我遍历我的数据集时,我都想为我的子状态数组添加一个对象。
我的代码:
const [data, setData] = useState({ name: "Tree", children: [{}] });
const regions = [
{
idregion: "region1",
region_name: "South-Central Asia"
},
{
idregion: "region2",
region_name: "Balkan Peninsula"
},
{
idregions: "region3",
region_name: "Northern Africa"
}
];
useEffect(() => {
for (let reg of regions){
setData((prevState) => {
return {
...prevState,
children: reg.region_name
};
});
}
}, []);
我试过了:
setData((prevState) => {
return {
...prevState,
children: [{ ...prevState }, { name: reg.region_name }]
};
});
setData((prevState) => {
return {
...prevState,
children: [{ ...prevState, name: reg.region_name }]
};
});
setData((prevState) => {
return {
...prevState,
children: [{ ...prevState.children, name: reg.region_name }]
};
});
我的目标是:
{
name: 'Tree',
children: [
{ name: 'South-Central Asia' },
{ name: 'Balkan Peninsula' },
{ name: 'Northern Africa' },
],
}
【问题讨论】:
-
你试过
children: [{ ...prevState.children}, {name: reg.region_name }]吗?我没有看到它列出来,我认为这会解决它
标签: javascript reactjs react-hooks use-state nested-object