core
core copied to clipboard
当只打开一个自定义Editor,关闭的时候未能销毁Editor组件
描述你的问题(Describe the bug) 当只打开一个自定义Editor,关闭的时候未能销毁Editor组件。 如果同时打开了其他Editor。关闭的时候能正确销毁。
复现路径(To Reproduce) 1、注册一个自定义Editor组件。
export const CustomEditorView: ReactEditorComponent = ()=>{
useEffect(() => {
return () => {
console.log(1);
};
}, []);
}
2、打开这个自定义组件(无其他Editor打开)。然后关闭。
预期表现(Expected behavior) 控制台输出:1
环境信息(Environment)
- OS: [Windows10]
- Browser: [electron]
- OpenSumi Version: [2.25.1]
翻了下代码,执行到https://github.com/opensumi/core/blob/1333888ee6bbcfe6d3c5c83f7d7b402ef567969b/packages/editor/src/browser/workbench-editor.service.ts#L1838 的时候。导致https://github.com/opensumi/core/blob/1333888ee6bbcfe6d3c5c83f7d7b402ef567969b/packages/editor/src/browser/editor.view.tsx#L362 发生重绘,但是此时 https://github.com/opensumi/core/blob/1333888ee6bbcfe6d3c5c83f7d7b402ef567969b/packages/editor/src/browser/workbench-editor.service.ts#L1844 还未移除当前关闭的resource。 同时上面移除掉resource后,没有再次触发重绘。