4Manuals

  • PDF Cloud HOME

拖放完成后,ReactJS setState()会导致错误 Download

    CSS / JS-如何覆盖一个孩子而不是其他孩子的父母过渡 反应:更改方向后触发重新渲染和offsetWidth的重新计算 我的Javascript从'string'转换为'integer'或'number'无效 如何删除外部索引并合并内部json 在React Native 图片无法通过javascript刷新 如何在react图表上的datakey中操作DateTime 在Cypress中保存变量 如何从作为请求传递的输入类型数据绑定中提取数据 通过dropzone laravel通过电子邮件发送多个图像

我正在建造一个战舰游戏,所有战舰都作为对象存储在称为战舰的状态数组中。在通过拖放更改其位置之后,我想使用setState()更新状态,以保存已移动船的当前位置。这将引发错误:DOMException: Failed to execute 'removeChild' on 'Node': The node to be removed is not a child of this node. 如果我不更新状态,则拖放操作将正常进行。

我的放置函数如下:

const drop = e => {
    e.preventDefault();

    const ship_id = e.dataTransfer.getData("ship_id");
    const ship = document.getElementById(ship_id);
    ship.style.display = "block";

    e.target.appendChild(ship);
  }; 

我以为可能是我正在更改真实的DOM,并且在调用setState()时,虚拟DOM会更新,并且不再在现场找到船,因为它已经移动了。

非常感谢您的帮助, 已经谢谢了

0 个答案:

没有答案



Similar searches
    如何通过其标签识别EditText 我的新单元测试不像单元测试那样 降级+对图像应用滤镜的最佳顺序是哪一个? 如何处理只因大小写而延迟的值? 与glDrawArrays相比,glDrawElements是否会使运行的顶点着色器更少?