sanity
Version:
Sanity is a real-time content infrastructure with a scalable, hosted backend featuring a Graph Oriented Query Language (GROQ), asset pipelines and fast edge caches
23 lines (20 loc) • 459 B
text/typescript
import {useLayoutEffect} from 'react'
import {resizeObserver} from 'sanity'
export function useResizeObserver({
element,
onResize,
}: {
element?: HTMLDivElement | null
onResize: (event: ResizeObserverEntry) => void
}): void {
useLayoutEffect(() => {
if (element) {
resizeObserver.observe(element, onResize)
}
return () => {
if (element) {
resizeObserver.unobserve(element)
}
}
}, [element, onResize])
}