1234567891011121314151617181920212223 |
- /**
- * A convenience hook around `useState` designed to be paired with
- * the component [callback ref](https://reactjs.org/docs/refs-and-the-dom.html#callback-refs) api.
- * Callback refs are useful over `useRef()` when you need to respond to the ref being set
- * instead of lazily accessing it in an effect.
- *
- * ```ts
- * const [element, attachRef] = useCallbackRef<HTMLDivElement>()
- *
- * useEffect(() => {
- * if (!element) return
- *
- * const calendar = new FullCalendar.Calendar(element)
- *
- * return () => {
- * calendar.destroy()
- * }
- * }, [element])
- *
- * return <div ref={attachRef} />
- * ```
- */
- export default function useCallbackRef<TValue = unknown>(): [TValue | null, (ref: TValue | null) => void];
|