Создайте свои объекты данных перед рендерингом; это позволяет React отображать декларативным способом и достаточно гибко отображать столько строк или столбцов, сколько вы хотите добавить.
Также я специально оставил создание массива rows
более подробным; нет причины, по которой вы не можете иметь переменную numRows
, которая используется в цикле для добавления в массив rows
.
https://codesandbox.io/s/clever-moser-3j51c
Компонентный
function App() {
const cell = "hi";
const rows = [
[cell, cell],
[cell, cell],
[cell, cell],
[cell, cell],
[cell, cell]
];
return rows.map((row, i) => {
return (
<div key={i} className="row">
{row.map((data, j) => (
<span key={j}>{data}</span>
))}
</div>
);
});
}
выход
hi hi
hi hi
hi hi
hi hi
hi hi
Так как вы не предоставили CSS, я поменял ваши внутренние элементы <div>
на <span>
, так что вам решать, как это стилизовать.