diff --git a/src/hooks/useViewportOffsetTop/index.ts b/src/hooks/useViewportOffsetTop/index.ts index 6f617aa38121..99a762167eb0 100644 --- a/src/hooks/useViewportOffsetTop/index.ts +++ b/src/hooks/useViewportOffsetTop/index.ts @@ -40,7 +40,8 @@ export default function useViewportOffsetTop(shouldAdjustScrollView = false): nu useEffect(() => addViewportResizeListener(updateOffsetTop), [updateOffsetTop]); useEffect(() => { - if (!shouldAdjustScrollView) { + // We don't want to trigger window.scrollTo when we are already at the target position. It causes unnecessary style recalculations. + if (!shouldAdjustScrollView || viewportOffsetTop === window.scrollY) { return; } window.scrollTo({top: viewportOffsetTop, behavior: 'smooth'});