INNER CODE UNIT · TypeScript
usePersistFn
datavane/datavines · datavines-ui/Editor/common/usePersistFn/index.ts:3
const usePersistFn = <T extends (...args: any[]) => any>(callback: T) => {
const fnRef = useRef(callback);
fnRef.current = callback;
const persistFn = useRef<T>();
if (!persistFn.current) {
persistFn.current = function (...args) {
fnRef.current(...args);
} as T;
}
return persistFn.current as T;
};
export default usePersistFn;