我正在建造一个战舰游戏,所有战舰都作为对象存储在称为战舰的状态数组中。在通过拖放更改其位置之后,我想使用 我的放置函数如下: 我以为可能是我正在更改真实的DOM,并且在调用setState()时,虚拟DOM会更新,并且不再在现场找到船,因为它已经移动了。 非常感谢您的帮助,
已经谢谢了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);
};
0 个答案:
没有答案