React拖放当前组件上下文
问题描述:
任何人曾与React拖动&拖放,需要帮助!React拖放当前组件上下文
在此示例中(https://github.com/react-dnd/react-dnd/blob/master/examples/01%20Dustbin/Multiple%20Targets/Dustbin.js#L20)在第20行,有props.onDrop(monitor.getItem());
这个代码,其中通过props
传递到部件Dustbin
功能onDrop
被调用。
我需要知道是否有方法调用Dustbin
中定义的方法,而不是通过道具传递。
如:this.onDrop(monitor.getItem());
或currentComponent.onDrop(monitor.getItem());
答
是有,第三个参数下降是“组件”(在这里看到:http://react-dnd.github.io/react-dnd/docs-drop-target.html),这是被投进的实际组件。所以,你可以这样做:
const dustbinTarget = {
drop(props, monitor, component) {
component.onDrop(monitor.getItem());
},
};
这种说法是适用于所有的除外canDrop放置目标的方法,因为实例可能不可用在它被调用的时间。