UNPKG

@vela-ui/react

Version:

Vela UI React components

19 lines (17 loc) 509 B
// src/hooks/use-callback-ref.ts import { useCallback, useInsertionEffect, useRef } from "react"; function useCallbackRef(callback, deps = []) { const callbackRef = useRef(() => { throw new Error("Cannot call an event handler while rendering."); }); useInsertionEffect(() => { callbackRef.current = callback; }); return useCallback((...args) => { var _a; return (_a = callbackRef.current) == null ? void 0 : _a.call(callbackRef, ...args); }, deps); } export { useCallbackRef };