reactjs - 无法读取未定义的属性 'setData' - react 触摸事件

标签 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>

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

最佳答案

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

关于reactjs - 无法读取未定义的属性 'setData' - react 触摸事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50656084/

相关文章:

reactjs - 在reducers之间共享状态的最佳方式(redux工具包)

android - DOM 元素的 TouchLeave

android(singletouch)绘图应用程序撤消方法无法正常工作

javascript - 如何转换具有特定标识符的字符串?

javascript - Redux 中不可变更新模式的问题

javascript - 加载状态永远不会变为真??(React - Redux)

java - LayoutParams 更改后 ImageView 消失

node.js - 使用 webpack 打包库时 lib 和 dist 文件夹之间的区别?

reactjs - React-Redux:绑定(bind)按键操作以启动 reducer 序列的规范方法是什么?

css - react 动态 CSS