我有一个对象数组,obj,如下所示:
{
"root": [
{
"key": "mihome",
"label": "home",
"action": "url",
"submenu": "none"
},
{
"key": "signin",
"label": "sign in",
"action": "url",
"submenu": "none"
}
],
"mainMenu": [
{
"key": "unito",
"label": "unit o",
"action": "url",
"submenu": "none"
},
{
"key": "unitt",
"label": "unit t",
"action": "url",
"submenu": "none"
}
]
}
我想使用对象映射在React JS中作为组件进行迭代,如下所示:
return (
<div className='menud'>
{obj["root"] !== undefined ?
Object.entries(obj).map(([key, menuItems]) =>
<MenuList menuArray={obj[key]} key={key} menuKey={key} pcbClick={handleItemClick} />)
: null
}
</div>
);
这基本上是按照我的意愿工作的,只是我正在努力找出如何在映射每个对象时保留其键名,这需要传递对象数组而不是对象array.e、 g.现在,第一个将收到一个菜单栏props :
[
{
"key": "mihome",
"label": "home",
"action": "url",
"submenu": "none"
},
{
"key": "signin",
"label": "sign in",
"action": "url",
"submenu": "none"
}
],
鉴于我希望收到
{
root: [
{
"key": "mihome",
"label": "home",
"action": "url",
"submenu": "none"
},
{
"key": "signin",
"label": "sign in",
"action": "url",
"submenu": "none"
}
]
}
等进行迭代.我正在考虑使用JSON.字符串化并只分配键名和{字符,但这感觉像是添加了不必要的转换.