Browse Source

refactor(useCanvasWorkflowLoader): 调整工作流名称设置逻辑时机

将loadedWorkflowIdRef的赋值和setWorkFlowName的调用调整到正确位置,修复加载流程中的状态同步问题
feature/group
huangmin 1 month ago
parent
commit
65090e92d5
  1. 4
      src/hooks/useCanvasWorkflowLoader.ts

4
src/hooks/useCanvasWorkflowLoader.ts

@ -11,6 +11,7 @@ export function useCanvasWorkflowLoader(workflowId: string | null) {
const { message } = App.useApp(); const { message } = App.useApp();
const loadWorkflow = useWorkflowStore((state) => state.loadWorkflow); const loadWorkflow = useWorkflowStore((state) => state.loadWorkflow);
const clearWorkflow = useWorkflowStore((state) => state.clearWorkflow); const clearWorkflow = useWorkflowStore((state) => state.clearWorkflow);
const setWorkFlowName = useWorkflowStore((state) => state.setWorkflowName);
const setCurrentCanvasWorkflow = useCanvasWorkflowStore((state) => state.setCurrentCanvasWorkflow); const setCurrentCanvasWorkflow = useCanvasWorkflowStore((state) => state.setCurrentCanvasWorkflow);
const clearCurrentCanvasWorkflow = useCanvasWorkflowStore((state) => state.clearCurrentCanvasWorkflow); const clearCurrentCanvasWorkflow = useCanvasWorkflowStore((state) => state.clearCurrentCanvasWorkflow);
const setIsLoadingCanvasWorkflow = useCanvasWorkflowStore((state) => state.setIsLoadingCanvasWorkflow); const setIsLoadingCanvasWorkflow = useCanvasWorkflowStore((state) => state.setIsLoadingCanvasWorkflow);
@ -34,7 +35,6 @@ export function useCanvasWorkflowLoader(workflowId: string | null) {
} }
let isCancelled = false; let isCancelled = false;
loadedWorkflowIdRef.current = workflowId;
clearCurrentCanvasWorkflow(); clearCurrentCanvasWorkflow();
clearWorkflow(); clearWorkflow();
setIsLoadingCanvasWorkflow(true); setIsLoadingCanvasWorkflow(true);
@ -46,6 +46,7 @@ export function useCanvasWorkflowLoader(workflowId: string | null) {
workflow.name = detail.title?.trim() || workflow.name; workflow.name = detail.title?.trim() || workflow.name;
await loadWorkflow(workflow, undefined, { preserveSnapshot: false }); await loadWorkflow(workflow, undefined, { preserveSnapshot: false });
if (isCancelled) return; if (isCancelled) return;
loadedWorkflowIdRef.current = workflowId;
setCurrentCanvasWorkflow({ setCurrentCanvasWorkflow({
id: numericWorkflowId, id: numericWorkflowId,
title: detail.title || workflow.name, title: detail.title || workflow.name,
@ -71,6 +72,7 @@ export function useCanvasWorkflowLoader(workflowId: string | null) {
workflowId, workflowId,
loadWorkflow, loadWorkflow,
clearWorkflow, clearWorkflow,
setWorkFlowName,
setCurrentCanvasWorkflow, setCurrentCanvasWorkflow,
clearCurrentCanvasWorkflow, clearCurrentCanvasWorkflow,
setIsLoadingCanvasWorkflow, setIsLoadingCanvasWorkflow,

Loading…
Cancel
Save