Skip to Content
ExamplesEdges

Connection Line

A Connection Line is what you see when you click and drag out from a handle. It represents a possible edge and can snap to valid handles in close proximity. You can implement your own Connection Line by passing a React component rendering the line. You can find the passed props in the custom connection line docs.

import React, { useCallback } from 'react'; import { ReactFlow, useNodesState, useEdgesState, addEdge, Background, } from '@xyflow/react'; import '@xyflow/react/dist/style.css'; import CustomNode from './CustomNode'; import ConnectionLine from './ConnectionLine'; const initialNodes = [ { id: 'connectionline-1', type: 'custom', data: { label: 'Node 1' }, position: { x: 250, y: 5 }, }, ]; const nodeTypes = { custom: CustomNode, }; const ConnectionLineFlow = () => { const [nodes, _, onNodesChange] = useNodesState(initialNodes); const [edges, setEdges, onEdgesChange] = useEdgesState([]); const onConnect = useCallback( (params) => setEdges((eds) => addEdge(params, eds)), [], ); return ( <ReactFlow nodes={nodes} edges={edges} nodeTypes={nodeTypes} onNodesChange={onNodesChange} onEdgesChange={onEdgesChange} connectionLineComponent={ConnectionLine} onConnect={onConnect} fitView fitViewOptions={{ padding: 0.2, }} style={{ backgroundColor: "#F7F9FB" }} > <Background /> </ReactFlow> ); }; export default ConnectionLineFlow;
Last updated on