Renderizando um array de objetos como uma tabela HTML em React
Suponha que temos novamente nosso array de produtos:
const prods = [
{id: 1, name: 'product1', cost: 100},
{id: 2, name: 'product2', cost: 200},
{id: 3, name: 'product3', cost: 300},
];
Vamos renderizar os elementos do nosso array na forma de uma tabela HTML:
function App() {
const rows = prods.map(function(item) {
return <tr key={item.id}>
<td>{item.name}</td>
<td>{item.cost}</td>
</tr>;
});
return <table>
<tbody>
{rows}
</tbody>
</table>;
}
Vamos adicionar cabeçalhos de coluna à nossa tabela:
function App() {
const rows = prods.map(function(item) {
return <tr key={item.id}>
<td>{item.name}</td>
<td>{item.cost}</td>
</tr>;
});
return <table>
<thead>
<tr>
<td>nome</td>
<td>preço</td>
</tr>
</thead>
<tbody>
{rows}
</tbody>
</table>;
}
No componente App é dado o seguinte array:
const users = [
{id: 1, name: 'user1', surn: 'surn1', age: 30},
{id: 2, name: 'user2', surn: 'surn2', age: 31},
{id: 3, name: 'user3', surn: 'surn3', age: 32},
];
Renderize os elementos deste array como uma tabela
table de forma que cada campo do objeto
caia em sua própria tag td. Crie os cabeçalhos
das colunas da sua tabela.