Renderizando um array de objetos em React
Suponha que temos um array de objetos com produtos:
const prods = [
{name: 'product1', cost: 100},
{name: 'product2', cost: 200},
{name: 'product3', cost: 300},
];
function App() {
}
Vamos renderizar cada produto em seu próprio parágrafo:
function App() {
const res = prods.map(function(item) {
return <p>{item.name} {item.cost}</p>;
});
return <div>
{res}
</div>;
}
Podemos colocar o nome e o preço do produto em uma tag separada, por exemplo, assim:
function App() {
const res = prods.map(function(item) {
return <p>
<span>{item.name}</span>:
<span>{item.cost}</span>
</p>;
});
return <div>
{res}
</div>;
}
Não vamos esquecer de adicionar o atributo key:
function App() {
const res = prods.map(function(item, index) {
return <p key={index}>
<span>{item.name}</span>:
<span>{item.cost}</span>
</p>;
});
return <div>
{res}
</div>;
}
No componente App é dado o seguinte array:
const users = [
{name: 'user1', surn: 'surn1', age: 30},
{name: 'user2', surn: 'surn2', age: 31},
{name: 'user3', surn: 'surn3', age: 32},
];
Exiba os elementos deste array na forma de uma lista
ul.