T
TanStack16mo ago
fascinating-indigo

Can't use useMutation with Table

const { mutate } = useMutation()
const columnHelper = createColumnHelper<SurveyWithAuthor>();
const defaultColumns = [
columnHelper.display({
id: 'actions',
header: () => (
<div className='flex items-center'>
<i className={`table-header__text-icon bi bi-gear-fill me-2 fs-20`}></i>
<span className='table-header__text'>Actions</span>
</div>
),
cell: (params) => (
<div className="flex">
<div className="w-auto me-1">
<Button
variant="destructive"
className='flex h-6 px-3 py-0 text-sm text-nowrap'
onClick={() => mutate(params.row.original.id)}
>
<i className="bi bi-x-lg"></i>&nbsp;Archive
</Button>
</div>
</div>
),
size: 250,
maxSize: 250,
}),
]
const table = useReactTable({ columns: defaultColumns, data: data, getCoreRowModel: getCoreRowModel() });
const { mutate } = useMutation()
const columnHelper = createColumnHelper<SurveyWithAuthor>();
const defaultColumns = [
columnHelper.display({
id: 'actions',
header: () => (
<div className='flex items-center'>
<i className={`table-header__text-icon bi bi-gear-fill me-2 fs-20`}></i>
<span className='table-header__text'>Actions</span>
</div>
),
cell: (params) => (
<div className="flex">
<div className="w-auto me-1">
<Button
variant="destructive"
className='flex h-6 px-3 py-0 text-sm text-nowrap'
onClick={() => mutate(params.row.original.id)}
>
<i className="bi bi-x-lg"></i>&nbsp;Archive
</Button>
</div>
</div>
),
size: 250,
maxSize: 250,
}),
]
const table = useReactTable({ columns: defaultColumns, data: data, getCoreRowModel: getCoreRowModel() });
Following code freezes whole website whenever I call mutate
2 Replies
rare-sapphire
rare-sapphire16mo ago
Don't know if this is your problem, but defaultColumns needs to be memoized.
fascinating-indigo
fascinating-indigoOP16mo ago
Yeah, it was, thanks a lot!

Did you find this page helpful?