Files
dify/web/app/components/workflow/hooks.ts
StyleZhang a17c0e5bf6 init
2024-02-06 17:05:26 +08:00

23 lines
523 B
TypeScript

import {
useCallback,
useMemo,
useState,
} from 'react'
import type { Node } from './types'
export const useWorkflow = (nodes: Node[]) => {
const [selectedNodeId, setSelectedNodeId] = useState('')
const handleSelectedNodeIdChange = useCallback((nodeId: string) => setSelectedNodeId(nodeId), [])
const selectedNode = useMemo(() => {
return nodes.find(node => node.id === selectedNodeId)
}, [nodes, selectedNodeId])
return {
selectedNodeId,
selectedNode,
handleSelectedNodeIdChange,
}
}