React-dnd模块中getDropResult()无法得到目标值

在使用React-dnd模块时遇到endDrop()中getDropResult()无法获取目标值的问题。尽管遵循官方文档和示例,但只得到包含dropEffect和id的对象。经测试发现,drop()的getDropResult()只能在有父子关系时获取上一级drop返回的对象,而在没有父子关系时,返回{dropEffect: 'move', id: undefined}。当前版本可能存在的bug导致组件中endDrag的getDropResult()只能获取自身drop()返回的对象。为解决此问题,建议改用getItem并结合props与redux进行数据更新。" 132727793,19687621,使用Boost.Context实现斐波那契协程程序,"['c++', '算法', '编程', '并发']
摘要由CSDN通过智能技术生成

在用React-dnd模块做项目的时候,在endDrop()函数里面用getDropResult()无法得到想要的目标值,
看了官方文档,以及示例代码,均是无法找到问题所在,
跟示例的思路及写法几乎一样,根据相关文档,如下
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
具体情景如下
我有三个组件ABC, A是B的父组件,C与AB独立,C作为被拖动组件,AB作为接受的组件,

在C的drag的spec配置中的endDrag()里面写到,console.log(‘getDropResult’, monitor.getDropResult());
在A、Bd的drop的spec配置中的drop()里写到,return{xxx:1}即返回一个对象
根据文档以及示例,只要我把C拖进了A或者B,都会触发drop里面的return,然后这个return的对象会在C的endDrag里面通过monitor.getDropResult()得到,

但是我并没有得到目标值,只得到了一个对象&

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值