11 lines
333 B
TypeScript
11 lines
333 B
TypeScript
import { useCallback, useRef } from "react";
|
|
|
|
export function useStableEvent<TArgs extends unknown[], TResult>(
|
|
handler: (...args: TArgs) => TResult,
|
|
): (...args: TArgs) => TResult {
|
|
const handlerRef = useRef(handler);
|
|
handlerRef.current = handler;
|
|
|
|
return useCallback((...args: TArgs) => handlerRef.current(...args), []);
|
|
}
|