toto10's picture
Upload folder using huggingface_hub (#4)
ea35075
raw
history blame
573 Bytes
// https://github.com/Volune/use-event-callback/blob/master/src/index.ts
import { useLayoutEffect, useMemo, useRef } from 'react'
type Fn<ARGS extends any[], R> = (...args: ARGS) => R
const useEventCallback = <A extends any[], R>(fn: Fn<A, R>): Fn<A, R> => {
const ref = useRef<Fn<A, R>>(fn)
useLayoutEffect(() => {
ref.current = fn
})
return useMemo(
() =>
(...args: A): R => {
const { current } = ref
return current(...args)
},
[]
)
}
export default useEventCallback