<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 | number The 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 | string The 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 | string The 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 | string The 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.ReactNode The 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 themarkerStart
ormarkerEnd
props passed to your custom edge through to the<BaseEdge />
component. You can see all the props passed to a custom edge by looking at theEdgeProps
type.