useEffectEvent.ts 350 B

123456789101112131415
  1. 'use client'
  2. import { useCallback, useRef } from 'react'
  3. /**
  4. * Don't use this, could be deleted anytime.
  5. *
  6. * @internal
  7. */
  8. export function useEffectEvent<F extends (...params: never[]) => unknown>(callback: F): F {
  9. const ref = useRef(callback)
  10. ref.current = callback
  11. return useCallback(((...params) => ref.current(...params)) as F, [])
  12. }