core icon indicating copy to clipboard operation
core copied to clipboard

当只打开一个自定义Editor,关闭的时候未能销毁Editor组件

Open xkaede opened this issue 1 year ago • 5 comments

描述你的问题(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后,没有再次触发重绘。

xkaede avatar Sep 01 '23 13:09 xkaede