From 2a2d682211f412d575975b6637fd6f3aca27734b Mon Sep 17 00:00:00 2001 From: Himself65 Date: Wed, 12 Apr 2023 16:46:29 -0500 Subject: [PATCH] fix: cannot update a component while rendering a different component (#1907) --- .../src/components/block-suite-editor/index.tsx | 16 ++++++++++------ 1 file changed, 10 insertions(+), 6 deletions(-) diff --git a/packages/component/src/components/block-suite-editor/index.tsx b/packages/component/src/components/block-suite-editor/index.tsx index 093eec3de2..3725f46805 100644 --- a/packages/component/src/components/block-suite-editor/index.tsx +++ b/packages/component/src/components/block-suite-editor/index.tsx @@ -41,13 +41,17 @@ const BlockSuiteEditorImpl = (props: EditorProps): ReactElement => { if (editor.mode !== props.mode) { editor.mode = props.mode; } - if (editor.page !== props.page) { - editor.page = props.page; - if (page.root === null) { - props.onInit(page, editor); + + useEffect(() => { + if (editor.page !== props.page) { + editor.page = props.page; + if (page.root === null) { + props.onInit(page, editor); + } + props.onLoad?.(page, editor); } - props.onLoad?.(page, editor); - } + }, [props.page, props.onInit, props.onLoad]); + const ref = useRef(null); useEffect(() => {