You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

16 lines
609 B

import { useEffect } from 'react';
import { useDragDropManager } from './internal/useDragDropManager';
import { useCollector } from './internal/useCollector';
/**
* useDragLayer Hook
* @param collector The property collector
*/
export function useDragLayer(collect) {
const dragDropManager = useDragDropManager();
const monitor = dragDropManager.getMonitor();
const [collected, updateCollected] = useCollector(monitor, collect);
useEffect(() => monitor.subscribeToOffsetChange(updateCollected));
useEffect(() => monitor.subscribeToStateChange(updateCollected));
return collected;
}