当前位置:  开发笔记 > 编程语言 > 正文

Reactjs在每第4个元素上都有<div>包装器

如何解决《Reactjs在每第4个元素上都有<div>包装器》经验,为你挑选了1个好方法。

在具有类行的div中反应第4组项目。目前,您可以在下面看到我

的文章组。

// articles is array of article object
{articles.map(item => )}

我是否应该创建一个具有

包装器的新组件,一次只能接受4个数组来呈现文章。



1> Jim O'Brien..:

最好的选择是将文章数组构建为4个长度的数组。您可以使用lodash的方便的块方法进行此操作。

对文章进行分块后,可以在JSX中对其进行迭代,如下所示:

const sections = chunk(articles, 4);

return (
  
{sections.map((articles, i) => (
{articles.map(item => )}
)}
);

编辑:如果您不想使用lodash,则可以使用reduce,效果很好:

function chunk(array, size) {
  return array.reduce((chunks, item, i) => {
    if (i % size === 0) {
      chunks.push([item]);
    } else {  
      chunks[chunks.length - 1].push(item);
    }
    return chunks;
  }, []);
}

推荐阅读
跟我搞对象吧
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有