// Molecule (since it utilizes Text component, which is an atom) const Table = ({ cellPaddingSize, columns, data, hideHeader, onRowClick }) => { // Data passed to the useTable hook needs to be memoized // to avaid performance leaks const memoColumns = React.useMemo(() => columns, [columns]); const memoData = React.useMemo(() => data, [data]); const numOfColumns = React.useMemo(() => memoColumns.length, [memoColumns]); const defaultTableCellSize = getDefaultTableCellSize(numOfColumns); const handleRowClick = (row) => { onRowClick?.(row); }; const { getTableProps, getTableBodyProps, headerGroups, rows, prepareRow } = useTable({ columns: memoColumns, data: memoData, }); return (
|
|
))}
|---|
| {cell.render('Cell')} | ))}