如何用react-dnd中的use在拖拽开始时调用函数
时间: 2024-01-21 22:17:42 浏览: 111
react中简单实现拖拽功能
要在拖拽开始时调用函数,可以使用 `useDrag` 钩子来实现。在 `useDrag` 中,您可以定义一个回调函数 `begin`,该函数会在拖拽开始时被调用。
以下是一个示例代码:
```jsx
import { useDrag } from 'react-dnd';
function MyComponent() {
const [{ isDragging }, drag] = useDrag({
item: {
type: 'myDraggableItem'
},
begin: () => {
// 在拖拽开始时调用的函数
console.log('拖拽开始了!');
},
collect: (monitor) => ({
isDragging: monitor.isDragging(),
}),
});
return (
<div ref={drag}>
{/* ... */}
</div>
);
}
```
在上面的示例中,`begin` 函数将在拖拽开始时被调用,并在控制台中输出一条消息。注意,`begin` 函数只会在拖拽开始时被调用一次,而不是在每次拖拽移动时都被调用。
同时,`useDrag` 的返回值包含一个名为 `drag` 的函数,该函数需要绑定到要拖拽的元素上。在上面的示例中,我们使用 `ref` 将 `drag` 函数绑定到 `<div>` 元素上。
阅读全文