Skip to content

Commit 3edec74

Browse files
committed
fix: clean up resize observer (#461)
1 parent 26244ac commit 3edec74

File tree

1 file changed

+8
-4
lines changed

1 file changed

+8
-4
lines changed

src/hooks/useOverflowingHorizontalListItems/useOverflowingHorizontalListItems.ts

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,6 @@ export function useOverflowingHorizontalListItems<ItemType>({
3636

3737
useLayoutEffect(() => {
3838
const footerMenu = containerRef.current;
39-
if (!footerMenu) {
40-
return;
41-
}
4239

4340
const updateContainerSize = (entries: ResizeObserverEntry[]) => {
4441
if (entries.length > 0 && footerMenu) {
@@ -49,7 +46,14 @@ export function useOverflowingHorizontalListItems<ItemType>({
4946
const updateContainerSizeDebounced = debounceFn(updateContainerSize, 100);
5047
const footerMenuResizeObserver = new ResizeObserver(updateContainerSizeDebounced);
5148

52-
footerMenuResizeObserver.observe(footerMenu);
49+
if (footerMenu) {
50+
footerMenuResizeObserver.observe(footerMenu);
51+
}
52+
53+
return () => {
54+
updateContainerSizeDebounced.cancel();
55+
footerMenuResizeObserver.disconnect();
56+
};
5357
}, [containerRef]);
5458

5559
const isMeasured = containerWidth > 0;

0 commit comments

Comments
 (0)