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