Blame view

天文台pc/tianwentai-ui/node_modules/react-dnd/dist/hooks/useDrag/useRegisteredDragSource.js 1007 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
27
  import { registerSource } from '../../internals/index.js';
  import { useDragDropManager } from '../useDragDropManager.js';
  import { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect.js';
  import { useDragSource } from './useDragSource.js';
  import { useDragType } from './useDragType.js';
  export function useRegisteredDragSource(spec, monitor, connector) {
      const manager = useDragDropManager();
      const handler = useDragSource(spec, monitor, connector);
      const itemType = useDragType(spec);
      useIsomorphicLayoutEffect(function registerDragSource() {
          if (itemType != null) {
              const [handlerId, unregister] = registerSource(itemType, handler, manager);
              monitor.receiveHandlerId(handlerId);
              connector.receiveHandlerId(handlerId);
              return unregister;
          }
          return;
      }, [
          manager,
          monitor,
          connector,
          handler,
          itemType
      ]);
  }
  
  //# sourceMappingURL=useRegisteredDragSource.js.map