From 36102b9c82ff5755cd403ac7e01a21ce1d1d07ee Mon Sep 17 00:00:00 2001 From: fantasticit Date: Thu, 19 May 2022 15:17:47 +0800 Subject: [PATCH] tiptap: fix render flow --- .../src/tiptap/core/wrappers/flow/index.tsx | 33 ++++++++----------- 1 file changed, 13 insertions(+), 20 deletions(-) diff --git a/packages/client/src/tiptap/core/wrappers/flow/index.tsx b/packages/client/src/tiptap/core/wrappers/flow/index.tsx index 0c184305..9d0e0899 100644 --- a/packages/client/src/tiptap/core/wrappers/flow/index.tsx +++ b/packages/client/src/tiptap/core/wrappers/flow/index.tsx @@ -23,9 +23,8 @@ export const FlowWrapper = ({ editor, node, updateAttributes }) => { const { theme } = useTheme(); const $viewer = useRef(null); const $container = useRef(); - const doRenderRef = useRef<() => void>(); const isEditorReady = useEditorReady(editor, () => { - doRenderRef.current && doRenderRef.current(); + render($container.current); }); const [bgColor, setBgColor] = useState('var(--semi-color-fill-0)'); const bgColorOpacity = useMemo(() => { @@ -79,26 +78,20 @@ export const FlowWrapper = ({ editor, node, updateAttributes }) => { const render = useCallback( (div) => { - const doRender = (div) => { - if (!div) return; - // @ts-ignore - const DrawioViewer = window.GraphViewer; - if (DrawioViewer) { - div.innerHTML = ''; - DrawioViewer.createViewerForElement(div, (viewer) => { - $viewer.current = viewer; - const background = viewer?.graph?.background; - background && setBgColor(background); - }); - } - doRenderRef.current = null; - }; - if (!isEditorReady) { - doRenderRef.current = () => doRender(div); return; - } else { - doRender(div); + } + + if (!div) return; + // @ts-ignore + const DrawioViewer = window.GraphViewer; + if (DrawioViewer) { + div.innerHTML = ''; + DrawioViewer.createViewerForElement(div, (viewer) => { + $viewer.current = viewer; + const background = viewer?.graph?.background; + background && setBgColor(background); + }); } }, [isEditorReady]