如何在反应中渲染矩阵中的元素?
How to render an element in a matrix in react?
所以我知道如何遍历数组并在 React 中渲染元素。现在我想渲染一个矩阵。我有一个 4*3 矩阵,想根据矩阵中的值渲染方形元素。
例如,board = [[0,2,3,0],[2,2,1,0],[0,0,0,0]]。结果应该呈现一个 4 * 4 的板,由较小的正方形组成,里面有相应的值。
您可以在循环内创建另一个循环来呈现子数组。如果 board
数组中的每个元素代表一行,您可以将每一行包装在 div
中以为其提供自己的行,并使用 span
将每个单元格保持在同一行中内联。
例子
class App extends React.Component {
state = {
board: [[0, 2, 3, 0], [2, 2, 1, 0], [0, 0, 0, 0]]
};
render() {
const { board } = this.state;
return (
<div>
{board.map((row, i) => (
<div key={i}>
{row.map((col, j) => (
<span key={j}>{col}</span>
))}
</div>
))}
</div>
);
}
}
ReactDOM.render(<App />, document.getElementById("root"));
<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="root"></div>
所以我知道如何遍历数组并在 React 中渲染元素。现在我想渲染一个矩阵。我有一个 4*3 矩阵,想根据矩阵中的值渲染方形元素。 例如,board = [[0,2,3,0],[2,2,1,0],[0,0,0,0]]。结果应该呈现一个 4 * 4 的板,由较小的正方形组成,里面有相应的值。
您可以在循环内创建另一个循环来呈现子数组。如果 board
数组中的每个元素代表一行,您可以将每一行包装在 div
中以为其提供自己的行,并使用 span
将每个单元格保持在同一行中内联。
例子
class App extends React.Component {
state = {
board: [[0, 2, 3, 0], [2, 2, 1, 0], [0, 0, 0, 0]]
};
render() {
const { board } = this.state;
return (
<div>
{board.map((row, i) => (
<div key={i}>
{row.map((col, j) => (
<span key={j}>{col}</span>
))}
</div>
))}
</div>
);
}
}
ReactDOM.render(<App />, document.getElementById("root"));
<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="root"></div>