首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在react中使用map渲染2列

在react中使用map渲染2列
EN

Stack Overflow用户
提问于 2020-10-18 21:28:05
回答 1查看 460关注 0票数 0

您好,我有一个数据数组,如下所示

代码语言:javascript
复制
let array = ['first','second','third','fourth','fifth','sixth']

现在我希望循环这个使用地图,并渲染2列,一旦有四个以上的项目在array.For的上述情况下,我希望有以下布局。

代码语言:javascript
复制
column1 | column 2
-------- ----------
first   | fifth
second  | sixth
third   |
fourth  |

我所做的是使用表,但我不想为此使用表,我想为此创建一个简单的组件。

我如何在react中使用地图渲染来实现这一点。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-10-18 22:10:02

这就是如何仅使用div来构建表

代码语言:javascript
复制
function splitArray(array, n) {
  let [...arr] = array;
  let res = [];
  while (arr.length) {
    res.push(arr.splice(0, n));
  }
  return res;
}

const rowsPerCol = 4
const array = ['first','second','third','fourth','fifth','sixth']
const columns = splitArray(array, rowsPerCol)

const Column = props => (
<div className="column">
  <Row label="label" rows={props.rows}/>
  </div>
);

const Row = ({rows}) => (
rows.map((data,key) => <div key={key}>{data}</div>)
);

// Example class component
class Table extends React.Component {
  render() {
    return (
      <div className="table">
        {columns.map((rows,key) => <Column key={key} rows={rows} />)}
      </div>
    );
  }
}

// Render it
ReactDOM.render(
  <Table />,
  document.getElementById("react")
);
代码语言:javascript
复制
.column {
padding : 5px;
border : 2px dashed black;
}

.table {

display : flex;
}
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/react/16.6.3/umd/react.production.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/react-dom/16.6.3/umd/react-dom.production.min.js"></script>
<div id="react"></div>

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64413897

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档