Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/backbone.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 警告:由于性能原因,此合成事件被重用_Javascript_Reactjs_Console_Warnings - Fatal编程技术网

Javascript 警告:由于性能原因,此合成事件被重用

Javascript 警告:由于性能原因,此合成事件被重用,javascript,reactjs,console,warnings,Javascript,Reactjs,Console,Warnings,有人能解释一下为什么我在控制台中得到这些警告,当我尝试拖动时,以及如何解决它吗 //主要成分 handleDragStart=data=>event=>{ 日志(“dataaa”,数据,“事件”,事件); }; makebox=()=>{ 返回此.state.box.map(box=>( )); }; render(){ 返回{this.makebox()}; }在您的BoxesGroup中,我编辑了handleDrag函数,如下所示来解决此问题: handleDragStart = da

有人能解释一下为什么我在控制台中得到这些警告,当我尝试拖动时,以及如何解决它吗

//主要成分

handleDragStart=data=>event=>{
日志(“dataaa”,数据,“事件”,事件);
};
makebox=()=>{
返回此.state.box.map(box=>(
));
};
render(){
返回{this.makebox()};

}
在您的BoxesGroup中,我编辑了
handleDrag
函数,如下所示来解决此问题:

  handleDragStart = data => event => {
    event.persist();
    event.dataTransfer.setData("text", event.target.id);
    console.log("data", data, "event ", event);
  };
这是来自React:

如果希望以异步方式访问事件属性,则 应该对事件调用event.persist(),这将删除 池中的合成事件,并允许创建对该事件的引用 由用户代码保留


默认情况下,react有一个事件池,它会继续使用它们。(类似于线程池)。为了避免在使用事件后将其放回池中,可以调用
event.persist()

请将代码放入您的问题中。谢谢@Kinck,我知道这种方式,但我认为这应该在没有事件的情况下工作。persist()因为此函数handleDragStart不是异步函数。React在执行事件处理程序后立即使合成事件的属性为空。因为react已经用它的合成事件包装了dom事件。很难说出完整的性质。检查这个[