Skip to content

Commit 1f8c8ee

Browse files
committed
fix: delay resize observer handling
1 parent 9372b9a commit 1f8c8ee

File tree

2 files changed

+6
-2
lines changed

2 files changed

+6
-2
lines changed

src/hooks/useSize.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,9 @@ export function useSizeWithElRef(callback: (e: HTMLElement) => void, enabled = t
1414
return new ResizeObserver((entries: ResizeObserverEntry[]) => {
1515
const element = entries[0].target as HTMLElement
1616
if (element.offsetParent !== null) {
17-
callback(element)
17+
requestAnimationFrame(() => {
18+
callback(element)
19+
})
1820
}
1921
})
2022
}, [callback])

src/hooks/useWindowViewportRect.ts

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,9 @@ export default function useWindowViewportRectRef(callback: (info: WindowViewport
4545
React.useEffect(() => {
4646
if (customScrollParent) {
4747
customScrollParent.addEventListener('scroll', scrollAndResizeEventHandler)
48-
const observer = new ResizeObserver(scrollAndResizeEventHandler)
48+
const observer = new ResizeObserver(() => {
49+
requestAnimationFrame(scrollAndResizeEventHandler)
50+
})
4951
observer.observe(customScrollParent)
5052
return () => {
5153
customScrollParent.removeEventListener('scroll', scrollAndResizeEventHandler)

0 commit comments

Comments
 (0)