参考工具

addEdge()

GitHub 上的源代码

此工具是一个便利函数,用于向边缘数组添加一个新的 Edge。它还执行一些验证,以确保您不会添加无效的边缘或重复现有的边缘。

import { useCallback } from 'react';
import {
  ReactFlow,
  addEdge,
  useNodesState,
  useEdgesState,
} from '@xyflow/react';
 
export default function Flow() {
  const [nodes, setNodes, onNodesChange] = useNodesState([]);
  const [edges, setEdges, onEdgesChange] = useEdgesState([]);
  const onConnect = useCallback(
    (connection) => {
      setEdges((oldEdges) => addEdge(connection, oldEdges));
    },
    [setEdges],
  );
 
  return <ReactFLow nodes={nodes} edges={edges} onConnect={onConnect} />;
}

签名

#参数
#edge
Edge | Connection
#edges
Edge[]
#返回值
Edge[]

备注

  • 如果具有相同 targetsource 的边缘已经存在(如果设置了这些属性,则具有相同的 targetHandlesourceHandle),即使 id 属性不同,此工具也不会添加新的边缘。