无法读取undefined的属性'setData' - React touch事件

时间:2018-06-02 10:47:04

标签: reactjs redux touch-event

我的触控功能定义是

onDragStart(ev,id) {
    console.log('dragstart: ',id)
    ev.dataTransfer.setData("id",id)
}
onTouchStart(ev,id) {
    console.log('touchstart: ',id)
    ev.dataTransfer.setData("id",id)
}

此处控制台正确提供touchstart: 9824357,但下一行会显示Cannot read property 'setData' of undefined。此代码适用于onDragStart。

我的div是

<div 
    onDragStart={(e)=>this.onDragStart(e, id)}  
    onTouchStart={(e)=>this.onTouchStart(e, id)}
    draggable                    
    className="draggable">                    
</div>

我该如何解决这个问题?我应该为触摸事件添加或声明更多内容吗?

1 个答案:

答案 0 :(得分:1)

touchstart dom事件没有dataTransfer属性。这不是一个拖放事件。要解决此问题,请删除第ev.dataTransfer.setData("id",id)行,因为触摸事件不会发生DataTransfer