'use client'; import * as React from 'react'; import useEnhancedEffect from '../useEnhancedEffect'; /** * Inspired by https://github.com/facebook/react/issues/14099#issuecomment-440013892 * See RFC in https://github.com/reactjs/rfcs/pull/220 */ function useEventCallback(fn) { const ref = React.useRef(fn); useEnhancedEffect(() => { ref.current = fn; }); return React.useRef((...args) => // @ts-expect-error hide `this` (0, ref.current)(...args)).current; } export default useEventCallback;