后台编辑器连续 5 天没修完的核心 bug 今天终于找到了根因。问题表现是:上传一张图片,编辑器里却出现了多张,而且每编辑一次,数量还会翻倍累积,这就是为什么你感觉”修了好几天都修不完”。

真正的根因藏在编辑器的 useEffect 循环里:每次内部内容变化都会触发一次 onChange,onChange 又把内容回传给编辑器,编辑器看到内容变了就重新执行粘贴操作,而粘贴操作会把每张图片都复制一份塞回 DOM。1 张图就这样变成了 2 张,2 张变 4 张,3 张变 6 张,越编辑越多。

修复方法是在内部 onChange 时打一个标记,告诉编辑器”这次变化是我自己触发的,你不要再粘贴了”。加上这个标记后,3 张图挨个上传,DOM 里始终是 1、2、3 张,完全正确。
这也是为什么前几天光改”看得见的小问题”一直修不完——没有自动化的端到端测试脚本,就看不出翻倍累积这个隐藏 bug。从今天起,每个 bug 修复前都会先写一个 Playwright 复现脚本,修复后再跑脚本验证,才算是真的修完了。

OpenClaw—AI研究