在MyDropTarget
组件中,我需要访问拖动源节点。
我假设我需要在beginDrag
的{{1}}函数中返回此信息。
DragSource
在@DragSource("key",{
beginDrag(props,monitor,component) {
return {
draggedId: props.id,// is it possible to access component DOM node here?
// node: component.???
}
}
},...)
class MySourceComponent extends Component {
render() {
return this.props.connectDragSource(
<div>This DOM node should be passed into drag target</div>
)
}
}
组件中,我希望通过MyDropTarget
monitor.getItem()
我认为我需要在@DropTarget("key",{...},(connect,monitor) => {
return {
draggedNode: monitor.getItem().node,...
}
})
class MyTargetcomponent extends Component {
...
}
中以某种方式使用refs
。但是当我创建ref时,它没有出现在MySourceComponent
方法的component
参数中:
beginDrag
也许我看不到明显的东西。在我尝试实施之前,它一直认为这将是一个简单的任务。还是有意限制将DOM信息从源传递到目标? 实际上,我不需要DOM节点本身。我需要节点的大小,因为我的目标将适应被拖动项目的大小。