This repository has been archived on 2024-09-18. You can view files and clone it. You cannot open issues or pull requests or push a commit.
Files
front/node_modules/@mui/utils/modern/useEventCallback/useEventCallback.js
2024-09-18 13:34:19 -03:00

20 lines
521 B
JavaScript

'use client';
import * as React from 'react';
import useEnhancedEffect from "../useEnhancedEffect/index.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 default useEventCallback;