Blame view

天文台pc/tianwentai-ui/node_modules/use-callback-ref/dist/es2019/mergeRef.js 699 Bytes
bc518174   王天杨   提交两个项目文件
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
  import { assignRef } from './assignRef';
  import { createCallbackRef } from './createRef';
  /**
   * Merges two or more refs together providing a single interface to set their value
   * @param {RefObject|Ref} refs
   * @returns {MutableRefObject} - a new ref, which translates all changes to {refs}
   *
   * @see {@link useMergeRefs} to be used in ReactComponents
   * @example
   * const Component = React.forwardRef((props, ref) => {
   *   const ownRef = useRef();
   *   const domRef = mergeRefs([ref, ownRef]); // 👈 merge together
   *   return <div ref={domRef}>...</div>
   * }
   */
  export function mergeRefs(refs) {
      return createCallbackRef((newValue) => refs.forEach((ref) => assignRef(ref, newValue)));
  }