addEdge()
This util is a convenience function to add a new Edge to an
array of edges. It also performs some validation to make sure you don’t add an
invalid edge or duplicate an existing one.
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} />;
}Signature
Parameters:| Name | Type | Default | 
|---|---|---|
edgeParams | EdgeType | ConnectionEither an   | |
edges | EdgeType[]The array of all current edges.  | 
Notes
- If an edge with the same 
targetandsourcealready exists (and the sametargetHandleandsourceHandleif those are set), then this util won’t add a new edge even if theidproperty is different. 
Last updated on