Skip to content

Commit 28e1753

Browse files
committed
Tweak controlled state logic
1 parent dfc06b3 commit 28e1753

1 file changed

Lines changed: 6 additions & 5 deletions

File tree

src/DataGrid.tsx

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -160,6 +160,7 @@ export interface DataGridProps<R, SR = unknown, K extends Key = Key> extends Sha
160160
* @default 35
161161
*/
162162
summaryRowHeight?: Maybe<number>;
163+
/** */
163164
columnWidths?: Maybe<ColumnWidths>;
164165
onColumnWidthsChange?: Maybe<(columnWidths: ColumnWidths) => void>;
165166

@@ -326,26 +327,26 @@ export function DataGrid<R, SR = unknown, K extends Key = Key>(props: DataGridPr
326327
const [scrollTop, setScrollTop] = useState(0);
327328
const [scrollLeft, setScrollLeft] = useState(0);
328329
const [resizedColumnWidthsInternal, setResizedColumnWidthsInternal] = useState(
329-
(): ReadonlyMap<string, number> => columnWidths?.resized ?? new Map()
330+
(): ReadonlyMap<string, number> => new Map()
330331
);
331332
const [measuredColumnWidthsInternal, setMeasuredColumnWidthsInternal] = useState(
332-
(): ReadonlyMap<string, number> => columnWidths?.measured ?? new Map()
333+
(): ReadonlyMap<string, number> => new Map()
333334
);
334-
const isColumnWidthsControlled = columnWidths != null && onColumnWidthsChange != null;
335+
const isColumnWidthsControlled = columnWidths != null;
335336
const measuredColumnWidths = isColumnWidthsControlled
336337
? columnWidths.measured
337338
: measuredColumnWidthsInternal;
338339
const setMeasuredColumnWidths = isColumnWidthsControlled
339340
? (measuredColumnWidths: ReadonlyMap<string, number>) => {
340-
onColumnWidthsChange({ ...columnWidths, measured: measuredColumnWidths });
341+
onColumnWidthsChange?.({ ...columnWidths, measured: measuredColumnWidths });
341342
}
342343
: setMeasuredColumnWidthsInternal;
343344
const resizedColumnWidths = isColumnWidthsControlled
344345
? columnWidths.resized
345346
: resizedColumnWidthsInternal;
346347
const setResizedColumnWidths = isColumnWidthsControlled
347348
? (resizedColumnWidths: ReadonlyMap<string, number>) => {
348-
onColumnWidthsChange({ ...columnWidths, resized: resizedColumnWidths });
349+
onColumnWidthsChange?.({ ...columnWidths, resized: resizedColumnWidths });
349350
}
350351
: setResizedColumnWidthsInternal;
351352

0 commit comments

Comments
 (0)