This commit is contained in:
18
node_modules/react-dnd/lib/hooks/useDrag/useRegisteredDragSource.js
generated
vendored
Normal file
18
node_modules/react-dnd/lib/hooks/useDrag/useRegisteredDragSource.js
generated
vendored
Normal file
@@ -0,0 +1,18 @@
|
||||
import { registerSource } from '../../internals';
|
||||
import { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';
|
||||
import { useDragSource } from './useDragSource';
|
||||
import { useDragDropManager } from '../useDragDropManager';
|
||||
import { useDragType } from './useDragType';
|
||||
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;
|
||||
}
|
||||
}, [manager, monitor, connector, handler, itemType]);
|
||||
}
|
||||
Reference in New Issue
Block a user