Blame view

天文台pc/tianwentai-ui/node_modules/react-popper/lib/esm/Reference.js 934 Bytes
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
  import * as React from 'react';
  import warning from 'warning';
  import { ManagerReferenceNodeSetterContext } from './Manager';
  import { safeInvoke, unwrapArray, setRef } from './utils';
  export function Reference(_ref) {
    var children = _ref.children,
        innerRef = _ref.innerRef;
    var setReferenceNode = React.useContext(ManagerReferenceNodeSetterContext);
    var refHandler = React.useCallback(function (node) {
      setRef(innerRef, node);
      safeInvoke(setReferenceNode, node);
    }, [innerRef, setReferenceNode]); // ran on unmount
    // eslint-disable-next-line react-hooks/exhaustive-deps
  
    React.useEffect(function () {
      return function () {
        return setRef(innerRef, null);
      };
    }, []);
    React.useEffect(function () {
      warning(Boolean(setReferenceNode), '`Reference` should not be used outside of a `Manager` component.');
    }, [setReferenceNode]);
    return unwrapArray(children)({
      ref: refHandler
    });
  }