fix: initial editor error

This commit is contained in:
QiShaoXuan
2022-12-13 16:18:22 +08:00
parent 27453f39fe
commit 082f8c3a83
@@ -46,7 +46,9 @@ const EditorReactor = ({
setWorkspace: (workspace: Workspace) => void; setWorkspace: (workspace: Workspace) => void;
setCurrentPage: (Page: Page) => void; setCurrentPage: (Page: Page) => void;
}) => { }) => {
const router = useRouter(); const {
query: { pageId: routerPageId },
} = useRouter();
useEffect(() => { useEffect(() => {
const workspace = new Workspace({ const workspace = new Workspace({
@@ -71,21 +73,31 @@ const EditorReactor = ({
return; return;
} }
const initialPageId = if (routerPageId) {
workspace.meta.pageMetas.find( const pageId = routerPageId.toString();
p => p.id === (router.query.pageId as string) const page = workspace.getPage(pageId);
)?.id ?? workspace.meta.pageMetas[0]?.id; if (page) {
if (!initialPageId) {
createPage(workspace!, generateDefaultPageId()).then(page => {
initialPage(page);
setCurrentPage(page); setCurrentPage(page);
}); } else {
} else { createPage(workspace!, pageId).then(page => {
const page = workspace.getPage(initialPageId); initialPage(page);
setCurrentPage(page); setCurrentPage(page);
});
}
return;
} }
}, [workspace, router.query.pageId, setCurrentPage]);
const savedPageId = workspace.meta.pageMetas[0]?.id;
if (savedPageId) {
setCurrentPage(workspace.getPage(savedPageId));
return;
}
createPage(workspace!, generateDefaultPageId()).then(page => {
initialPage(page);
setCurrentPage(page);
});
}, [workspace, routerPageId, setCurrentPage]);
useEffect(() => { useEffect(() => {
if (!currentPage) { if (!currentPage) {