Skip to content

Commit 03d9f61

Browse files
committed
Add back flushSync
1 parent e6bb382 commit 03d9f61

File tree

1 file changed

+7
-3
lines changed

1 file changed

+7
-3
lines changed

src/hooks/useGridDimensions.ts

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { useLayoutEffect, useRef, useState } from 'react';
2+
import { flushSync } from 'react-dom';
23

34
export function useGridDimensions() {
45
const gridRef = useRef<HTMLDivElement>(null);
@@ -27,9 +28,12 @@ export function useGridDimensions() {
2728
const size = entries[0].contentBoxSize[0];
2829
const { clientHeight, offsetHeight } = gridRef.current!;
2930

30-
setInlineSize(size.inlineSize);
31-
setBlockSize(size.blockSize);
32-
setHorizontalScrollbarHeight(offsetHeight - clientHeight);
31+
// we use flushSync here to avoid flashing scrollbars
32+
flushSync(() => {
33+
setInlineSize(size.inlineSize);
34+
setBlockSize(size.blockSize);
35+
setHorizontalScrollbarHeight(offsetHeight - clientHeight);
36+
});
3337
});
3438
resizeObserver.observe(gridRef.current!);
3539

0 commit comments

Comments
 (0)