UNPKG

@gorhom/bottom-sheet

Version:

A performant interactive bottom sheet with fully configurable options 🚀

24 lines (22 loc) • 678 B
import { useCallback, useEffect, useRef } from 'react'; // biome-ignore lint: to be addressed! type Callback = (...args: any[]) => any; /** * Provide a stable version of useCallback * https://gist.github.com/JakeCoxon/c7ebf6e6496f8468226fd36b596e1985 */ export const useStableCallback = (callback: Callback) => { const callbackRef = useRef<Callback>(); const memoCallback = useCallback( // biome-ignore lint: to be addressed! (...args: any) => callbackRef.current && callbackRef.current(...args), [] ); useEffect(() => { callbackRef.current = callback; return () => { callbackRef.current = undefined; }; }); return memoCallback; };