fix: remove useEffect on router sync with atoms (#2241)

This commit is contained in:
Himself65
2023-05-12 05:37:42 +08:00
committed by LongYinan
parent 5008958e84
commit ec66b229fe
12 changed files with 206 additions and 192 deletions
@@ -6,6 +6,7 @@ import {
SignMethod,
storageChangeSlot,
} from '@affine/workspace/affine/login';
import { rootCurrentWorkspaceIdAtom } from '@affine/workspace/atom';
import type { WorkspaceRegistry } from '@affine/workspace/type';
import { WorkspaceFlavour } from '@affine/workspace/type';
import { useSetAtom } from 'jotai';
@@ -17,6 +18,7 @@ import { useTransformWorkspace } from '../use-transform-workspace';
export function useOnTransformWorkspace() {
const transformWorkspace = useTransformWorkspace();
const setUser = useSetAtom(currentAffineUserAtom);
const setWorkspaceId = useSetAtom(rootCurrentWorkspaceIdAtom);
return useCallback(
async <From extends WorkspaceFlavour, To extends WorkspaceFlavour>(
from: From,
@@ -43,8 +45,9 @@ export function useOnTransformWorkspace() {
},
})
);
setWorkspaceId(workspaceId);
},
[setUser, transformWorkspace]
[setUser, setWorkspaceId, transformWorkspace]
);
}