浏览器中抛出异常:Cannot read properties of undefined (reading '_internalId')

  • Creator 版本: 3.6.3

在updateAllDirtyRenderers中assert(dirtyRenderers[i]._internalId !== -1);这个断言抛出的异常
在逻辑上updateAllDirtyRenderers内时不允许修改dirtyRenderers这个数组的。

查看堆栈,是下面的bone判定为空触发removeFromParent造成的,来自文件attach-util

   for (const boneIdx of socketNodes.keys()) {
        const boneNode = socketNodes.get(boneIdx);
        // Node has been destroy
        if (!boneNode || !boneNode.isValid) {
            socketNodes.delete(boneIdx);
            continue;
        }
        const bone = boneInfos[boneIdx];
        // Bone has been destroy
        if (!bone) {
            boneNode.removeFromParent();
            boneNode.destroy();
            socketNodes.delete(boneIdx);
            continue;
        }
        matrixHandle(boneNode, bone);
    }

这个段代码会在updateAllDirtyRenderers遍历过程中执行,有人知道怎么处理这个问题吗,或是是我用错了什么东西吗


合并这个 pr 试试