From fd3283383a27a41e8dea77c3fe892f855aa4a2c3 Mon Sep 17 00:00:00 2001 From: Matthew Costabile Date: Mon, 15 Dec 2025 14:59:49 +0000 Subject: [PATCH] perf(UnderlinePanels): Simplify useResizeObserver usage Remove unnecessary array dependency parameter from useResizeObserver call. Part of #7312 --- .changeset/perf-underlinepanels-observer.md | 7 +++++++ .../UnderlinePanels/UnderlinePanels.tsx | 18 +++++++----------- 2 files changed, 14 insertions(+), 11 deletions(-) create mode 100644 .changeset/perf-underlinepanels-observer.md diff --git a/.changeset/perf-underlinepanels-observer.md b/.changeset/perf-underlinepanels-observer.md new file mode 100644 index 00000000000..dc6cf2a894e --- /dev/null +++ b/.changeset/perf-underlinepanels-observer.md @@ -0,0 +1,7 @@ +--- +'@primer/react': patch +--- + +perf(UnderlinePanels): Simplify useResizeObserver usage + +Remove unnecessary array dependency parameter from useResizeObserver call. diff --git a/packages/react/src/experimental/UnderlinePanels/UnderlinePanels.tsx b/packages/react/src/experimental/UnderlinePanels/UnderlinePanels.tsx index 575593ece7d..ef6975c3d18 100644 --- a/packages/react/src/experimental/UnderlinePanels/UnderlinePanels.tsx +++ b/packages/react/src/experimental/UnderlinePanels/UnderlinePanels.tsx @@ -144,19 +144,15 @@ const UnderlinePanels: FCWithSlotMarker = ({ // when the wrapper resizes, check if the icons should be visible // by comparing the wrapper width to the list width - useResizeObserver( - (resizeObserverEntries: ResizeObserverEntry[]) => { - if (!tabsHaveIcons) { - return - } + useResizeObserver((resizeObserverEntries: ResizeObserverEntry[]) => { + if (!tabsHaveIcons) { + return + } - const wrapperWidth = resizeObserverEntries[0].contentRect.width + const wrapperWidth = resizeObserverEntries[0].contentRect.width - setIconsVisible(wrapperWidth > listWidth) - }, - wrapperRef, - [], - ) + setIconsVisible(wrapperWidth > listWidth) + }, wrapperRef) if (__DEV__) { const selectedTabs = tabs.filter(tab => {