<BaseEdge />
Source on GitHub (opens in a new tab)
The <BaseEdge /> component gets used internally for all the edges. It can be
used inside a custom edge and handles the invisible helper edge and the edge label
for you.
import { BaseEdge } from '@xyflow/react';
export function CustomEdge({ sourceX, sourceY, targetX, targetY, ...props }) {
const [edgePath] = getStraightPath({
sourceX,
sourceY,
targetX,
targetY,
});
return <BaseEdge path={edgePath} {...props} />;
}Props
| Name | Type |
|---|---|
# id | string |
# style | React.CSSProperties |
# interactionWidth | numberThe width of the invisible area around the edge that the user
can interact with. This is useful for making the edge easier to click or
hover over. |
# path | stringThe SVG path string that defines the edge. This should look
something like 'M 0 0 L 100 100' for a simple line. The utility functions
like getSimpleBezierEdge can be used to generate this string for you. |
# markerStart | stringThe id of the SVG marker to use at the start of the edge. This
should be defined in a <defs> element in a separate SVG document or element. |
# markerEnd | stringThe id of the SVG marker to use at the end of the edge. This
should be defined in a <defs> element in a separate SVG document or element. |
# label | string | React.ReactNodeThe label or custom element to render along the edge. This is
commonly a text label or some custom controls. |
# labelX | number |
# labelY | number |
# labelStyle | React.CSSProperties |
# labelShowBg | boolean |
# labelBgStyle | React.CSSProperties |
# labelBgPadding | [number, number] |
# labelBgBorderRadius | number |
Notes
- If you want to use an edge marker with the
<BaseEdge />component, you can pass themarkerStartormarkerEndprops passed to your custom edge through to the<BaseEdge />component. You can see all the props passed to a custom edge by looking at theEdgePropstype.