【发布时间】:2019-07-20 14:18:19
【问题描述】:
我有一个数组中的一长串项目。这些需要在一个组件中呈现,这应该很好。但是,我需要在每 3 个项目处将它们包装在另一个组件中。
所以,如果我只是渲染项目,它会是这样的:
return (
<div>
items.map((x, index) => {
<span key={index}>{x}</span>
})
</div>
)
但基本上,我希望每三个项目都包装在一个具有特殊类的 div 中,所以是这样的:
return (
<div>
<div className='group-of-3'>
<span>Item 1</span>
<span>Item 2</span>
<span>Item 3</span>
</div>
<div className='group-of-3'>
<span>Item 4</span>
<span>Item 5</span>
<span>Item 6</span>
</div>
.
.
.
</div>
)
理想的方法是什么?请记住,项目的数量确实会发生变化,因此手动操作是不可能的。
【问题讨论】:
-
当
index%3是1打开内部div。当index%3为0时关闭内部div。 -
@PM77-1 反应不是必须的,你不能“打开”和“关闭”div:元素内容应该在创建时知道。
-
@zerkms - 我不熟悉 ReactJS。所以我不能在地图函数中添加代码?
-
@PM77-1 可以,但它必须返回完整的元素。请参阅发布的答案,希望它能更好地澄清这一点。
标签: javascript arrays reactjs