【发布时间】:2022-01-21 00:20:30
【问题描述】:
我在这样的循环中进行模板渲染
{
category.menuIds.map((menuId, idx) => (
<TemplateMenu
index={idx}
key={menuId}
menu={this.props.menus[menuId]}
menuLayout={category.menu_layout}
/>
));
}
它会呈现<div> 的列表,如下所示:
<div id="m0" class="Menu">...</div>
<div id="m1" class="Menu">...</div>
<div id="m2" class="Menu">...</div>
<div id="m3" class="Menu">...</div>
<div id="m4" class="Menu">...</div>
<div id="m5" class="Menu">...</div>
<div id="m6" class="Menu">...</div>
<div id="m7" class="Menu">...</div>
<div id="m8" class="Menu">...</div>
<div id="m9" class="Menu">...</div>
我想在this.props.index % 5 !== 0 的条件下将每 4 个<div> 分组以获取下面的 HTML:
<div id="m0" class="Menu">...</div>
<div class="MenuRight">
<div id="m1" class="Menu">...</div>
<div id="m2" class="Menu">...</div>
<div id="m3" class="Menu">...</div>
<div id="m4" class="Menu">...</div>
</div>
<div id="m5" class="Menu">...</div>
<div class="MenuRight">
<div id="m6" class="Menu">...</div>
<div id="m7" class="Menu">...</div>
<div id="m8" class="Menu">...</div>
<div id="m9" class="Menu">...</div>
</div>
任何帮助将不胜感激。
[编辑]
index 没关系。它可以与现在相同或相对于该组。为了更清楚,我只是在示例代码中描述了它。
在this.props.index % 5 === 0 条件下,元素<div class="Menu"> 将是独立的,否则其他元素将与<div class="MenuRight"> 分组。
【问题讨论】:
-
index属性应该在TemplateEntry组件上是什么?和现在一样,还是相对于它所在的组? -
您所展示的不仅仅是将它们分成四人一组,它比这更复杂(先做一个,然后是一组四人,然后是另一个,然后是另一组四人), ...这是故意的吗?
-
@T.J.Crowder
index被上一层传递——循环的索引category.menuIds.map -
在
this.props.index % 5 === 0条件下,元素<div class="Menu">将是独立的,否则其他元素将与<div class="MenuRight">组合在一起。有意义吗? -
是的,谢谢——请使用“编辑”链接将其放入问题中(以及
index无关紧要的信息)。
标签: javascript arrays reactjs