From 9e63194b823d1906381a99b71c5dff6d7cf98a31 Mon Sep 17 00:00:00 2001 From: Josh Hawkins <32435876+hawkeye217@users.noreply.github.com> Date: Sun, 22 Dec 2024 12:26:02 -0600 Subject: [PATCH] resize observer: only return new dimensions if they've actually changed --- web/src/hooks/resize-observer.ts | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/web/src/hooks/resize-observer.ts b/web/src/hooks/resize-observer.ts index 57f55817a..1e174af7e 100644 --- a/web/src/hooks/resize-observer.ts +++ b/web/src/hooks/resize-observer.ts @@ -17,7 +17,15 @@ export function useResizeObserver(...refs: RefType[]) { () => new ResizeObserver((entries) => { window.requestAnimationFrame(() => { - setDimensions(entries.map((entry) => entry.contentRect)); + setDimensions((prevDimensions) => { + const newDimensions = entries.map((entry) => entry.contentRect); + if ( + JSON.stringify(prevDimensions) !== JSON.stringify(newDimensions) + ) { + return newDimensions; + } + return prevDimensions; + }); }); }), [],