您好,我有一个数据数组,如下所示
let array = ['first','second','third','fourth','fifth','sixth']现在我希望循环这个使用地图,并渲染2列,一旦有四个以上的项目在array.For的上述情况下,我希望有以下布局。
column1 | column 2
-------- ----------
first | fifth
second | sixth
third |
fourth |我所做的是使用表,但我不想为此使用表,我想为此创建一个简单的组件。
我如何在react中使用地图渲染来实现这一点。
发布于 2020-10-18 22:10:02
这就是如何仅使用div来构建表
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")
);.column {
padding : 5px;
border : 2px dashed black;
}
.table {
display : flex;
}<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>
https://stackoverflow.com/questions/64413897
复制相似问题