UNPKG

@base-ui-components/react

Version:

Base UI is a library of headless ('unstyled') React components and low-level hooks. You gain complete control over your app's CSS and accessibility features.

20 lines (17 loc) 514 B
'use client'; import * as React from 'react'; import { useEnhancedEffect } from './useEnhancedEffect.js'; /** * 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 { useEventCallback };