mirror of
https://github.com/supabase/supabase.git
synced 2026-10-16 14:49:10 +03:00
16 lines
399 B
TypeScript
16 lines
399 B
TypeScript
'use client'
|
|
|
|
import { useCallback, useLayoutEffect, useRef } from 'react'
|
|
|
|
export const useEventCallback = <Args extends unknown[], Result>(
|
|
callback: (...args: Args) => Result
|
|
): ((...args: Args) => Result) => {
|
|
const callbackRef = useRef(callback)
|
|
|
|
useLayoutEffect(() => {
|
|
callbackRef.current = callback
|
|
})
|
|
|
|
return useCallback((...args: Args) => callbackRef.current(...args), [])
|
|
}
|