diff --git a/packages/material-react-table/src/components/head/MRT_TableHeadCell.tsx b/packages/material-react-table/src/components/head/MRT_TableHeadCell.tsx index 880826e83..2fa3959ba 100644 --- a/packages/material-react-table/src/components/head/MRT_TableHeadCell.tsx +++ b/packages/material-react-table/src/components/head/MRT_TableHeadCell.tsx @@ -326,7 +326,7 @@ export const MRT_TableHeadCell = ({ column={column} table={table} tableHeadCellRef={{ - current: tableHeadCellRefs.current?.[column.id]!, + current: tableHeadCellRefs.current?.[column.id] ?? null, }} /> )} diff --git a/packages/material-react-table/src/hooks/useMRT_Effects.ts b/packages/material-react-table/src/hooks/useMRT_Effects.ts index ce4ace2cf..6b2579c46 100644 --- a/packages/material-react-table/src/hooks/useMRT_Effects.ts +++ b/packages/material-react-table/src/hooks/useMRT_Effects.ts @@ -97,10 +97,10 @@ export const useMRT_Effects = ( //fix pinned row top style when density changes useEffect(() => { - if (enableRowPinning && getIsSomeRowsPinned()) { - setTimeout(() => { - rerender(); - }, 150); - } + if (!enableRowPinning || !getIsSomeRowsPinned()) return undefined; + const timeoutId = setTimeout(() => { + rerender(); + }, 150); + return () => clearTimeout(timeoutId); }, [density]); }; diff --git a/packages/material-react-table/src/hooks/useMRT_TableOptions.ts b/packages/material-react-table/src/hooks/useMRT_TableOptions.ts index 7bee63ec6..5802a02c9 100644 --- a/packages/material-react-table/src/hooks/useMRT_TableOptions.ts +++ b/packages/material-react-table/src/hooks/useMRT_TableOptions.ts @@ -127,10 +127,10 @@ export const useMRT_TableOptions: ( mrtTheme = useMemo(() => getMRTTheme(mrtTheme, theme), [mrtTheme, theme]); aggregationFns = useMemo( () => ({ ...MRT_AggregationFns, ...aggregationFns }), - [], + [aggregationFns], ); - filterFns = useMemo(() => ({ ...MRT_FilterFns, ...filterFns }), []); - sortingFns = useMemo(() => ({ ...MRT_SortingFns, ...sortingFns }), []); + filterFns = useMemo(() => ({ ...MRT_FilterFns, ...filterFns }), [filterFns]); + sortingFns = useMemo(() => ({ ...MRT_SortingFns, ...sortingFns }), [sortingFns]); defaultColumn = useMemo( () => ({ ...MRT_DefaultColumn, ...defaultColumn }), [defaultColumn],