This commit is contained in:
22
node_modules/react-dnd/lib/hooks/useDrop/useRegisteredDropTarget.js
generated
vendored
Normal file
22
node_modules/react-dnd/lib/hooks/useDrop/useRegisteredDropTarget.js
generated
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
import { registerTarget } from '../../internals';
|
||||
import { useDragDropManager } from '../useDragDropManager';
|
||||
import { useIsomorphicLayoutEffect } from '../useIsomorphicLayoutEffect';
|
||||
import { useAccept } from './useAccept';
|
||||
import { useDropTarget } from './useDropTarget';
|
||||
export function useRegisteredDropTarget(spec, monitor, connector) {
|
||||
const manager = useDragDropManager();
|
||||
const dropTarget = useDropTarget(spec, monitor);
|
||||
const accept = useAccept(spec);
|
||||
useIsomorphicLayoutEffect(function registerDropTarget() {
|
||||
const [handlerId, unregister] = registerTarget(accept, dropTarget, manager);
|
||||
monitor.receiveHandlerId(handlerId);
|
||||
connector.receiveHandlerId(handlerId);
|
||||
return unregister;
|
||||
}, [
|
||||
manager,
|
||||
monitor,
|
||||
dropTarget,
|
||||
connector,
|
||||
accept.map((a) => a.toString()).join('|'),
|
||||
]);
|
||||
}
|
||||
Reference in New Issue
Block a user