UNPKG

react-native-reorderable-list

Version:

Reorderable list for React Native applications, powered by Reanimated

17 lines (12 loc) 443 B
import {useCallback, useLayoutEffect, useRef} from 'react'; // eslint-disable-next-line @typescript-eslint/no-explicit-any type Fn = (...args: any[]) => any; export const useStableCallback = <T extends Fn>(value: T) => { const callback = useRef<T>(value); useLayoutEffect(() => { callback.current = value; }); return useCallback((...args: Parameters<T>): ReturnType<T> => { return callback.current?.(...args); }, []); };