- react table : column resizing
hook으로 만들어 쓴다는 것
라이브러리를 쓰는 방법 두가지
- 컴포넌트로 쓰는 것 - Radix
- 훅처럼 props들을 가지고 쓰는 것 - React table ; pagination도 쉽게 지원할 수 있고 커스텀 디자인에 맞춰 넣을 수 있다
Scenario: 선택칸의 가로 길이를 마음대로 늘리거나 줄일 수 있다
Given 선택칸을 렌더하고
When 원하는 칸을 선택해서 잡아당기면
Then 선택칸을 줄이거나 늘일 수 있다
bun add react-table
bun add -d @types/react-table
columns
return {
Header: `Column ${i}`,
accessor: `col${i}`,
};
});
console.log(columns);
// input: colors ["#ffffff","#ffffff","#ffffff","#ffffff", ...,"#ffffff"]
const entries = colors.map((v, i) => [`col${i}`, v])
console.log('entries', entries)
const row = Object.fromEntries([["col0", "#ffffff"], ["col1", "#ffffff"],["col2", "#ffffff"]])
console.log('row', row)
const {
getTableProps,
getTableBodyProps,
headerGroups,
rows,
prepareRow,
state,
// resetResizing,
} = useTable(
{
columns,
data: [row],
defaultColumn,
},
useBlockLayout,
useResizeColumns
);