我需要遍历第 n 个节点并更新"header"



请找到下面的代码,该代码包含数组中的嵌套对象

我需要遍历第n个节点并将"头"更新为其他值,即更新为输入元素

我使用递归来更新值,但它不更新。

我可以使用lodash或其他方式遍历并使用react hooks 更改"标题"吗

需要使用钩子来更新值

有什么建议吗?

请参阅下面的片段

const jsondata= [
{
header: "Test-1",
y14: 10,
y15: 15,
y16: 20,
parents: [
{
// id: 1,
header: "Test-2",
y14: 5,
y15: 10,
y16: 20,
children: [
{
id: 1,
header: "Test-3",
y14: 5,
y15: 10,
y16: 20
},
{
id: 2,
header: "Test-4",
y14: 5,
y15: 10,
y16: 20,
children: [
{
id: 2,
header: "Test-5",
y14: 3,
y15: 2,
y16: 1
},
{
id: 2,
header: "Test-6",
y14: 4,
y15: 5,
y16: 6
}
]
}
]
},
{
id: 1,
header: "Test-7",
y14: 5,
y15: 10,
y16: 20
}
]
},
];
const [data, setData]=useState(jsondata);
const tempObj = {};
function iterate(obj: any) {
for (const k in obj) {
if (typeof obj[k] == 'object' && obj[k] !== null) {
iterate(obj[k]);
} else {
tempObj[k] = <input type="text" value={obj[k]} />;
setData([...data,tempObj]);
}
}
}

您可以通过这种方式遍历:

https://codesandbox.io/s/json-example-m3u4x

但我推荐洛达什去_用更少的代码赋值。

https://lodash.com/docs/4.17.15#assign

希望这能帮助

相关内容

  • 没有找到相关文章

最新更新