Table with explicit structure
structure preview
<Table>
<Table.Thead>
{/* head */}
<Table.Tr>
<Table.Th>{col1Label}</Table.Th>
<Table.Th>{col2Label}</Table.Th>
<Table.Th>{col3Label}</Table.Th>
</Table.Tr>
</Table.Thead>
{/* body */}
<Table.Tbody>
<Table.Tr>
<Table.Td>{item1.name}</Table.Td>
<Table.Td>{item1.level}</Table.Td>
<Table.Td>{item1.class}</Table.Td>
</Table.Tr>
{/* ... more rows */}
</Table.Tbody>
</Table>
build rows from an array of objects
const rows = items.map((item) => (
<Table.Tr>
<Table.Td>{item.name}</Table.Td>
<Table.Td>{item.level}</Table.Td>
<Table.Td>{item.class}</Table.Td>
</Table.Tr>
))
build rows from an array of arrays
const rows = items.map((item) => (
<Table.Tr>
<Table.Td>{item[0]}</Table.Td>
<Table.Td>{item[1]}</Table.Td>
<Table.Td>{item[2]}</Table.Td>
</Table.Tr>
))
headers and body
Thead is the container for the headers.
<Table.Thead>
<Table.Tr>
<Table.Th>{col1Label}</Table.Th>
<Table.Th>{col2Label}</Table.Th>
<Table.Th>{col3Label}</Table.Th>
</Table.Tr>
</Table.Thead>
Tbody is the container for rows.
<Table.Tbody>{rows}</Table.Tbody>