Blame view

天文台pc/tianwentai-ui/node_modules/@mui/utils/esm/useEventCallback/useEventCallback.js 521 Bytes
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
  '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;