Skip to Content

Edge

Source on GitHub

Where a Connection is the minimal description of an edge between two nodes, an Edge is the complete description with everything React Flow needs to know in order to render it.

export type Edge<T> = DefaultEdge<T> | SmoothStepEdge<T> | BezierEdge<T>;

Variants

Edge

Source on GitHub

NameTypeDefault
idstring

Unique id of an edge.

typeEdgeType

Type of edge defined in edgeTypes.

sourcestring

Id of source node.

targetstring

Id of target node.

sourceHandlestring | null

Id of source handle, only needed if there are multiple handles per node.

targetHandlestring | null

Id of target handle, only needed if there are multiple handles per node.

animatedboolean
hiddenboolean
deletableboolean
selectableboolean
dataEdgeData

Arbitrary data passed to an edge.

selectedboolean
markerStartEdgeMarkerType

Set the marker on the beginning of an edge.

markerEndEdgeMarkerType

Set the marker on the end of an edge.

zIndexnumber
ariaLabelstring
interactionWidthnumber

ReactFlow renders an invisible path around each edge to make them easier to click or tap on. This property sets the width of that invisible path.

labelReactNode

The label or custom element to render along the edge. This is commonly a text label or some custom controls.

labelStyleCSSProperties

Custom styles to apply to the label.

labelShowBgboolean
labelBgStyleCSSProperties
labelBgPadding[number, number]
labelBgBorderRadiusnumber
styleCSSProperties
classNamestring
reconnectableboolean | HandleType

Determines whether the edge can be updated by dragging the source or target to a new node. This property will override the default set by the edgesReconnectable prop on the <ReactFlow /> component.

focusableboolean

SmoothStepEdge

Source on GitHub

The SmoothStepEdge variant has all the same fields as an Edge, but it also has the following additional fields:

NameTypeDefault
type"smoothstep"
pathOptions{ offset?: number; borderRadius?: number; }

BezierEdge

Source on GitHub

The BezierEdge variant has all the same fields as an Edge, but it also has the following additional fields:

NameTypeDefault
type"default"
pathOptions{ curvature?: number; }

Default edge types

You can create any of React Flow’s default edges by setting the type property to one of the following values:

  • "default"
  • "straight"
  • "step"
  • "smoothstep"
  • "simplebezier"

If you don’t set the type property at all, React Flow will fallback to the "default" bezier curve edge type.

These default edges are available even if you set the edgeTypes prop to something else, unless you override any of these keys directly.

Last updated on