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
Name | Type |
---|---|
#Params |
|
# edge | Edge | Connection |
# edges | Edge[] |
#Returns |
|
Edge[] |
Notes
- If an edge with the same
target
andsource
already exists (and the sametargetHandle
andsourceHandle
if those are set), then this util won’t add a new edge even if theid
property is different.