如何解决spec.type 必须在 react-dnd 中定义
我正在尝试使用 React react-dnd 制作 Trello 克隆。 只需输入下面的代码,我就会收到错误
const [{ isDragging },dragRef] = useDrag({
item: { type: "CARD" },collect: (monitor) => ({
isDragging: monitor.isDragging(),}),});
我收到以下错误
spec.type 必须定义
invariant
C:/Users/lucca/Documents/GitHub/2B-task/src/index.ts:28
25 | );
26 | } else {
27 | let argIndex = 0;
> 28 | error = new Error(
| ^ 29 | format.replace(/%s/g,function() {
30 | return args[argIndex++];
31 | })
解决方法
此处 Offset
应作为 useDrag 的道具传递。请确保您在 type
中以及在 CARD
中传递相同类型的 useDrop
。您可以找到更多参考here。
accept
,
在 react-dnd 升级后我遇到了同样的问题。回滚后再次工作。
使用 React-dnd 打开一个问题可能有助于找到根本原因。
编辑:对 14.0 版本进行了更改:https://github.com/react-dnd/react-dnd/releases/tag/v14.0.0
,在给出的另一个答案中,您需要使类型成为 useDrag 对象的属性。
const [{isDragging},drag] = useDrag({
type: "CARD",collect: monitor => ({
isDragging: !!monitor.isDragging()
})
})
,
更改版本 “反应”:“^ 16.13.1”, "react-dnd": "^11.1.3","react-dnd-html5-backend": "^11.1.3",
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。