Skip to content

Commit

Permalink
fix: delay resize observer handling
Browse files Browse the repository at this point in the history
  • Loading branch information
petyosi committed Mar 29, 2024
1 parent 9372b9a commit 1f8c8ee
Show file tree
Hide file tree
Showing 2 changed files with 6 additions and 2 deletions.
4 changes: 3 additions & 1 deletion src/hooks/useSize.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,9 @@ export function useSizeWithElRef(callback: (e: HTMLElement) => void, enabled = t
return new ResizeObserver((entries: ResizeObserverEntry[]) => {
const element = entries[0].target as HTMLElement
if (element.offsetParent !== null) {
callback(element)
requestAnimationFrame(() => {
callback(element)
})
}
})
}, [callback])
Expand Down
4 changes: 3 additions & 1 deletion src/hooks/useWindowViewportRect.ts
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,9 @@ export default function useWindowViewportRectRef(callback: (info: WindowViewport
React.useEffect(() => {
if (customScrollParent) {
customScrollParent.addEventListener('scroll', scrollAndResizeEventHandler)
const observer = new ResizeObserver(scrollAndResizeEventHandler)
const observer = new ResizeObserver(() => {
requestAnimationFrame(scrollAndResizeEventHandler)
})
observer.observe(customScrollParent)
return () => {
customScrollParent.removeEventListener('scroll', scrollAndResizeEventHandler)
Expand Down

0 comments on commit 1f8c8ee

Please sign in to comment.