From 158f1fcb82fdff4d8c64e789889935c1303e4f7c Mon Sep 17 00:00:00 2001 From: James N Date: Thu, 23 Jun 2022 11:10:55 +1000 Subject: [PATCH] fix(autoUpdate): avoid initial update in microtask (#1755) --- packages/dom/src/autoUpdate.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/packages/dom/src/autoUpdate.ts b/packages/dom/src/autoUpdate.ts index 95432567b6..c727fe18b7 100644 --- a/packages/dom/src/autoUpdate.ts +++ b/packages/dom/src/autoUpdate.ts @@ -68,7 +68,14 @@ export function autoUpdate( let observer: ResizeObserver | null = null; if (elementResize) { - observer = new ResizeObserver(update); + let initialUpdate = true; + observer = new ResizeObserver(() => { + if (!initialUpdate) { + update(); + } + + initialUpdate = false; + }); isElement(reference) && !animationFrame && observer.observe(reference); observer.observe(floating); } @@ -97,9 +104,7 @@ export function autoUpdate( frameId = requestAnimationFrame(frameLoop); } - if (!elementResize) { - update(); - } + update(); return () => { ancestors.forEach((ancestor) => {