首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >"Expected drop context“上的最小react-dnd钩子示例中断

"Expected drop context“上的最小react-dnd钩子示例中断
EN

Stack Overflow用户
提问于 2021-03-18 21:09:23
回答 1查看 2.6K关注 0票数 6

我在实践中构建了一个最小的react-dnd钩子API示例,它遇到了一个运行时错误:

代码语言:javascript
运行
复制
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>
  );
}

以下是CodeSandbox:https://codesandbox.io/s/long-rgb-c4i69?file=/src/App.js中的完整复制品。

有什么想法可能是这里的问题吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-03-18 21:52:31

DndProvider必须位于使用useDrag / useDrop挂钩的组件的外部。它应该从App组件中分离出来,如下所示:

代码语言:javascript
运行
复制
<DndProvider backend={HTML5Backend}>
  <App />
</DndProvider>
票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66691773

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档