UNPKG

soda-material

Version:

A React(>=18) component library that may follow [Material Design 3](https://m3.material.io/components) (a.k.a. Material You)

27 lines (20 loc) 597 B
import { useEffect, useState } from 'react' /** * For pratical, this hook only intend for one element * @returns ResizeObserverEntry */ export function useResizeObserver( elementRef: React.RefObject<HTMLElement>, options?: ResizeObserverOptions ) { const [entry, setEntry] = useState<ResizeObserverEntry>() useEffect(() => { const ro = new ResizeObserver((entries) => { setEntry(entries[0]) }) const element = elementRef.current! ro.observe(element, options) return () => ro.unobserve(element) }) return entry }