pref: reduce the times of useNodes reRender (#28682)

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
This commit is contained in:
Joel
2025-11-26 16:52:47 +08:00
committed by GitHub
parent d7010f582f
commit ef0e1031b0
18 changed files with 55 additions and 25 deletions

View File

@@ -0,0 +1,7 @@
import {
useStore,
} from '@/app/components/workflow/store'
const useWorkflowNodes = () => useStore(s => s.nodes)
export default useWorkflowNodes

View File

@@ -23,6 +23,8 @@ export type WorkflowDraftSliceShape = {
setIsSyncingWorkflowDraft: (isSyncingWorkflowDraft: boolean) => void
isWorkflowDataLoaded: boolean
setIsWorkflowDataLoaded: (loaded: boolean) => void
nodes: Node[]
setNodes: (nodes: Node[]) => void
}
export const createWorkflowDraftSlice: StateCreator<WorkflowDraftSliceShape> = set => ({
@@ -37,4 +39,6 @@ export const createWorkflowDraftSlice: StateCreator<WorkflowDraftSliceShape> = s
setIsSyncingWorkflowDraft: isSyncingWorkflowDraft => set(() => ({ isSyncingWorkflowDraft })),
isWorkflowDataLoaded: false,
setIsWorkflowDataLoaded: loaded => set(() => ({ isWorkflowDataLoaded: loaded })),
nodes: [],
setNodes: nodes => set(() => ({ nodes })),
})