useEffectEvent.ts15 lines · main
| 1 | 'use client' |
| 2 | |
| 3 | import { useCallback, useRef } from 'react' |
| 4 | |
| 5 | /** |
| 6 | * Don't use this, could be deleted anytime. |
| 7 | * |
| 8 | * @internal |
| 9 | */ |
| 10 | export 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 | } |