Javascript 如何映射映射的回调?
我正在尝试渲染一个项目和您各自的子项目,以下是我的列表:Javascript 如何映射映射的回调?,javascript,reactjs,ecmascript-6,Javascript,Reactjs,Ecmascript 6,我正在尝试渲染一个项目和您各自的子项目,以下是我的列表: const labelList = [ { id: 1, tipo: 'Type 1', itens: [{ id: 1, nameItem: 'Item 1' }, { id: 2, nameItem: 'item 2', }, { id: 3,
const labelList = [
{
id: 1,
tipo: 'Type 1',
itens:
[{
id: 1,
nameItem: 'Item 1'
},
{
id: 2,
nameItem: 'item 2',
},
{
id: 3,
nameItem: 'item 3',
}],
},
{
id: 2,
tipo: 'Type 2',
itens:
[{
id: 1,
nameItem: 'Item 1'
},
{
id: 2,
nameItem: 'item 2',
},
{
id: 3,
nameItem: 'item 3',
}],
},
{
id: 3,
tipo: 'Type 3',
itens:
[{
id: 1,
nameItem: 'Item 1'
},
{
id: 2,
nameItem: 'item 2',
},
{
id: 3,
nameItem: 'item 3',
}],
},
{
id: 4,
tipo: 'Type 4',
itens:
[{
id: 1,
nameItem: 'Item 1'
},
{
id: 2,
nameItem: 'item 2',
},
{
id: 3,
nameItem: 'item 3',
}],
},
];
所以,我试图像这样显示这些数据:
类型1项目1、项目2、项目3
类型2
项目1、项目2、项目3
类型3
项目1、项目2、项目3
类型4
项目1、项目2、项目3
这是我的代码:
{labelList.map(element => {
return(
<p>{element.tipo}</p>
{element.map(item => {
return(
<CheckboxField
key={item.id}
label={item.nameItem}
/>
)
})}
)})}
{labelList.map(元素=>{
报税表(
{element.tipo}
{element.map(项=>{
返回(
)
})}
)})}
我正在使用React,但这是一个Javascript问题
我正在尝试使用labelList.map()
的回调元素运行映射(以渲染itens
)。我的代码不起作用,但我相信它的逻辑是这样的
有人能帮我吗?你应该映射itens
键,而不是只映射元素
{labelList.map(element => {
return(
<p>{element.tipo}</p>
{element.itens.map(item => {
return(
<CheckboxField
key={item.id}
label={item.nameItem}
/>
)
})}
)})}
{labelList.map(元素=>{
报税表(
{element.tipo}
{element.itens.map(项=>{
返回(
)
})}
)})}
小心,您可以在element.itens上迭代,而不是在element上,因此以下是正确的代码:
{labelList.map(element => {
return(
<p>{element.tipo}</p>
{element.itens.map(item => {
return(
<CheckboxField
key={item.id}
label={item.nameItem}
/>
)
})}
)})}
{labelList.map(元素=>{
报税表(
{element.tipo}
{element.itens.map(项=>{
返回(
)
})}
)})}
它应该是elements.itens.map
而不是elements.map