从卡片数组中每三行创建分隔线
Creating dividers in every three rows from an array of cards
大家好,我正在尝试为每行 3 个项目创建一个分隔线
这是我当前的设置,但问题是我只处理两组行,并且可以有无限数量的行我正在使用 slice 来获取前两行
分隔线不能位于地图内部,因为它需要放置在容器外部。
分隔符需要放置在每两行之间。
目前只处理两行,但需要处理多于两行。
代码笔示例
https://codesandbox.io/s/summer-firefly-xzymsp?file=/src/App.tsx
您可以尝试准备您的 OpenGraphGridDate 并将其排列成行。这样就很容易使用两个嵌套的地图功能。
const OpenGraphGridModule = () => {
const rows = OpenGraphGridData.reduce((rows,el)=> {
if(rows[rows.length-1].length >= 3){
rows.push([]);
}
rows[rows.length-1].push(el);
return rows;
},[[]]);
return (
<>
{rows.map((row,i) =>
(
<>
<Container>
{row.map(el => (
<Card />
))}
</Container>
{(i < rows.length-1) ? (
<DividerContainer>
<Divider />
</DividerContainer>
) : null}
</>
)
)}
</>
)
大家好,我正在尝试为每行 3 个项目创建一个分隔线 这是我当前的设置,但问题是我只处理两组行,并且可以有无限数量的行我正在使用 slice 来获取前两行
分隔线不能位于地图内部,因为它需要放置在容器外部。 分隔符需要放置在每两行之间。 目前只处理两行,但需要处理多于两行。
代码笔示例 https://codesandbox.io/s/summer-firefly-xzymsp?file=/src/App.tsx
您可以尝试准备您的 OpenGraphGridDate 并将其排列成行。这样就很容易使用两个嵌套的地图功能。
const OpenGraphGridModule = () => {
const rows = OpenGraphGridData.reduce((rows,el)=> {
if(rows[rows.length-1].length >= 3){
rows.push([]);
}
rows[rows.length-1].push(el);
return rows;
},[[]]);
return (
<>
{rows.map((row,i) =>
(
<>
<Container>
{row.map(el => (
<Card />
))}
</Container>
{(i < rows.length-1) ? (
<DividerContainer>
<Divider />
</DividerContainer>
) : null}
</>
)
)}
</>
)