reactjs - 每四条记录显示一列
问题描述
我正在努力如何每四条记录显示列或中断列。我正在使用 bulma 列,我的目标是在数组映射内的每四个记录上显示列。感谢帮助。
地图功能内部
{list.map(function(item, key){
return <div className="columns">
<div className="column">{item.name}</div>
</div>
})}
假设列表是 8 条记录,预期的结果应该是这样的
<div className="columns">
<div className="column">name 1</div>
<div className="column">name 2</div>
<div className="column">name 3</div>
<div className="column">name 4</div>
</div>
<div className="columns">
<div className="column">name 5</div>
<div className="column">name 6</div>
<div className="column">name 7</div>
<div className="column">name 8</div>
</div>
解决方案
您可以从数组中创建块,然后用<div className="columns">
function array_chunks(array, chunks) {
let result = [];
let n = array.length;
for (let i = 0; i < n; i += chunks) {
result = [...result, array.slice(i, i + chunks)];
}
return result;
}
let columns = array_chunks(list, 4);
function App() {
return (
<div className="App">
{columns.map(function(items, key) {
return (
<div className="columns">
{items.map(function(item) {
return <div className="column">{item.name}</div>;
})}
</div>
);
})}
</div>
);
}
请参阅沙盒。
推荐阅读
- python - 试图从列表中删除数字字符,字符不会删除,我不知道为什么
- c# - 当集合类型 DP 发生变化时如何通知我?
- php - Helvetica 不支持订阅号
- javascript - Fetch API:处理错误的 URL
- python - 为什么自动编码器与编码器 + 解码器的预测不同?
- django - Django REST 保存图像但返回错误路径
- react-native - 使用将根据条件从另一个 api 获取数据的参数反应本机?
- ffmpeg - 是否可以在 ffmpeg 的 -filter_complex 选项中同时使用 vidstabdetect 和 vidstabtransform ?
- mysql - 一个如果或多个在哪里?
- git - 使用 GIT 部署 Symfony 项目 - 错误:“似乎不是 git 存储库并且无法从远程存储库读取”