useDroppable

参数
interface UseDroppableArguments {
id: string | number;
disabled?: boolean;
data?: Record<string, any>;
}标识符
禁用
数据
属性
Node
setNodeRef
setNodeRefnode
noderect
rectOver
isOver
isOverover
over最后更新于

interface UseDroppableArguments {
id: string | number;
disabled?: boolean;
data?: Record<string, any>;
}setNodeRefnoderectisOverover最后更新于
const { setNodeRef } = useDroppable({
id: props.id,
data: {
index: props.index,
},
});import { DndContext, useDraggable, useDroppable } from "@dnd-kit/core";
function Droppable() {
const { setNodeRef } = useDroppable({
id: "droppable",
data: {
accepts: ["type1", "type2"],
},
});
/* ... */
}
function Draggable() {
const { attributes, listeners, setNodeRef, transform } = useDraggable({
id: "draggable",
data: {
type: "type1",
},
});
/* ... */
}
function App() {
return <DndContext onDragEnd={handleDragEnd}>/* ... */</DndContext>;
function handleDragEnd(event) {
const { active, over } = event;
if (over && over.data.current.accepts.includes(active.data.current.type)) {
// 处理逻辑
}
}
}{
rect: React.MutableRefObject<LayoutRect | null>;
isOver: boolean;
node: React.RefObject<HTMLElement>;
over: {id: UniqueIdentifier} | null;
setNodeRef(element: HTMLElement | null): void;
}function Droppable(props) {
const { setNodeRef } = useDroppable({
id: props.id,
});
return <div ref={setNodeRef}>{/* ... */}</div>;
}