【发布时间】:2021-08-31 18:36:27
【问题描述】:
我有一个要传递给子组件的数组,我希望所有数组元素都呈现在一个列表中。并不复杂,我已经做过很多次了,只是这次我无法让它按照我想要的方式格式化。
在我的父母中,我正在过滤我状态中的一组对象,并返回我想要的对象:
state = {
activeTab: 0,
tabs: [
{
id: 0,
icon: <AiFillShopping />,
label: 'Groceries',
content: ['grocery list', 'test']
},
{
id: 1,
icon: <FaSchool />,
label: 'School',
content: ['school list', 'test']
}
],
value: '',
}
let filteredContent = this.state.tabs.filter((tab, index) => {
if(index === this.state.activeTab) {
return tab;
}
})
console.log(filteredContent) // logs {id: 0, label: "Groceries", content: Array(2)}
然后我将过滤的内容传递给我的孩子,然后在我的孩子身上,我通过道具进行映射以获取内容并将项目作为列表列出:
<ul>
{this.props.content.map(content=> <li>{content.content}</li>)}
</ul>
但它作为一个列表项出现,所有元素都在一行中,如下所示: “杂货清单测试”
我确定我只是做了一些愚蠢的事情,但我已经盯着它看了很长时间,我可以用另一双眼睛。
【问题讨论】:
-
渲染函数前
this.props.content的内容是什么?这是你所期望的,还是不同的? -
@A_A 不是没有区别,是一样的。它记录 {id: 0, label: "Groceries", content: Array(2)}
-
@Sphinx 它并没有真正显示
- 标签,而是呈现为购物清单测试。
标签: javascript arrays reactjs