我react-dnd
在实践中构建了一个钩子 API的最小示例,它遇到了运行时错误:
import { useDrag, useDrop, DndProvider } from "react-dnd";
import { HTML5Backend } from "react-dnd-html5-backend";
export default function App() {
var matchDrag = useDrag({
type: "FILE"
});
var matchDrop = useDrop({
accept: "FILE",
drop: function (item, monitor) {
console.log("dropped");
}
});
return (
<div className="App">
<h1>Hello CodeSandbox</h1>
<DndProvider backend={HTML5Backend}>
<div ref={matchDrag[1]}>Drag</div>
</DndProvider>
<DndProvider backend={HTML5Backend}>
<div ref={matchDrop[1]}>Drop</div>
</DndProvider>
<h2>Start editing to see some magic happen!</h2>
</div>
);
}
Run Code Online (Sandbox Code Playgroud)
这是 CodeSandbox 中的完整复制:https ://codesandbox.io/s/long-rgb-c4i69 ? file =/ src/App.js 。
关于这里可能有什么问题的任何想法?
DndProvider
必须在使用useDrag
/useDrop
钩子的组件的外部。它应该从App
组件中分解出来,如下所示:
<DndProvider backend={HTML5Backend}>
<App />
</DndProvider>
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
1161 次 |
最近记录: |