UNPKG

@rocket.chat/fuselage-hooks

Version:

React hooks for Fuselage, Rocket.Chat's design system and UI toolkit

27 lines 969 B
type CallbackRefWithCleanup<T> = (node: T) => () => void; type CallbackRef<T> = (node: T) => void; type SafeCallbackRef<T> = CallbackRefWithCleanup<T> | CallbackRef<T>; /** * useSafeRefCallback will call a cleanup function (returned from the passed callback) * if the passed callback is called multiple times (similar to useEffect, but in a callbackRef) * * @example * const callback = useSafeRefCallback( * useCallback( * (node: T) => { * if (!node) { * return; * } * node.addEventListener('click', listener); * return () => { * node.removeEventListener('click', listener); * }; * }, * [listener], * ), * ); * */ export declare const useSafeRefCallback: <T extends HTMLElement | null>(callback: SafeCallbackRef<T>) => (node: T) => void; export {}; //# sourceMappingURL=useSafeRefCallback.d.ts.map