MCPcopy
hub / github.com/primer/react / useResizeObserver

Function useResizeObserver

packages/react/src/hooks/useResizeObserver.ts:12–35  ·  view source on GitHub ↗
(callback: ResizeObserverCallback, target?: RefObject<T>)

Source from the content-addressed store, hash-verified

10}
11
12export function useResizeObserver<T extends HTMLElement>(callback: ResizeObserverCallback, target?: RefObject<T>) {
13 const savedCallback = useRef(callback)
14
15 useLayoutEffect(() => {
16 savedCallback.current = callback
17 })
18
19 useLayoutEffect(() => {
20 const targetEl = target && 'current' in target ? target.current : document.documentElement
21 if (!targetEl) {
22 return
23 }
24
25 const observer = new ResizeObserver(entries => {
26 savedCallback.current(entries)
27 })
28
29 observer.observe(targetEl)
30
31 return () => {
32 observer.disconnect()
33 }
34 }, [target])
35}

Callers 4

MarkdownEditor.tsxFile · 0.90
ActionBarFunction · 0.90
UnderlineNav.tsxFile · 0.90
useAnchoredPositionFunction · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected