Skip to Content
Reference<ReactFlow />

<ReactFlow />

Source on GitHub 

The <ReactFlow /> component is the heart of your React Flow application. It renders your nodes and edges, handles user interaction, and can manage its own state if used as an uncontrolled flow.

import { ReactFlow } from '@xyflow/react' export default function Flow() { return <ReactFlow nodes={...} edges={...} onNodesChange={...} ... /> }

This component takes a lot of different props, most of which are optional. We’ve tried to document them in groups that make sense to help you find your way.

Common props

These are the props you will most commonly use when working with React Flow. If you are working with a controlled flow with custom nodes, you will likely use almost all of these!

NameTypeDefault
...propsOmit<React.ComponentProps<"div">, "onError">

Viewport props

NameTypeDefault
defaultViewportReact.ComponentProps<any>
viewportReact.ComponentProps<any>
onViewportChangeReact.ComponentProps<any>
fitViewReact.ComponentProps<any>
fitViewOptionsReact.ComponentProps<any>
minZoomReact.ComponentProps<any>
maxZoomReact.ComponentProps<any>
snapToGridReact.ComponentProps<any>
snapGridReact.ComponentProps<any>
onlyRenderVisibleElementsReact.ComponentProps<any>
translateExtentReact.ComponentProps<any>
nodeExtentReact.ComponentProps<any>
preventScrollingReact.ComponentProps<any>
attributionPositionReact.ComponentProps<any>

Edge props

NameTypeDefault
elevateEdgesOnSelectReact.ComponentProps<any>
defaultMarkerColorReact.ComponentProps<any>
defaultEdgeOptionsReact.ComponentProps<any>
reconnectRadiusReact.ComponentProps<any>
edgesReconnectableReact.ComponentProps<any>

Event handlers

Warning

It’s important to remember to define any event handlers outside of your component or using React’s useCallback hook. If you don’t, this can cause React Flow to enter an infinite re-render loop!

General Events

NameTypeDefault
onInitReact.ComponentProps<any>
onErrorReact.ComponentProps<any>
onDeleteReact.ComponentProps<any>
onBeforeDeleteReact.ComponentProps<any>

Node Events

NameTypeDefault
onNodeClickReact.ComponentProps<any>
onNodeDoubleClickReact.ComponentProps<any>
onNodeDragStartReact.ComponentProps<any>
onNodeDragReact.ComponentProps<any>
onNodeDragStopReact.ComponentProps<any>
onNodeMouseEnterReact.ComponentProps<any>
onNodeMouseMoveReact.ComponentProps<any>
onNodeMouseLeaveReact.ComponentProps<any>
onNodeContextMenuReact.ComponentProps<any>
onNodesDeleteReact.ComponentProps<any>
onNodesChangeReact.ComponentProps<any>

Edge Events

NameTypeDefault
onEdgeClickReact.ComponentProps<any>
onEdgeDoubleClickReact.ComponentProps<any>
onEdgeMouseEnterReact.ComponentProps<any>
onEdgeMouseMoveReact.ComponentProps<any>
onEdgeMouseLeaveReact.ComponentProps<any>
onEdgeContextMenuReact.ComponentProps<any>
onReconnectReact.ComponentProps<any>
onReconnectStartReact.ComponentProps<any>
onReconnectEndReact.ComponentProps<any>
onEdgesDeleteReact.ComponentProps<any>
onEdgesChangeReact.ComponentProps<any>

Connection Events

NameTypeDefault
onConnectReact.ComponentProps<any>
onConnectStartReact.ComponentProps<any>
onConnectEndReact.ComponentProps<any>
onClickConnectStartReact.ComponentProps<any>
onClickConnectEndReact.ComponentProps<any>
isValidConnectionReact.ComponentProps<any>

Pane Events

NameTypeDefault
onMoveReact.ComponentProps<any>
onMoveStartReact.ComponentProps<any>
onMoveEndReact.ComponentProps<any>
onPaneClickReact.ComponentProps<any>
onPaneContextMenuReact.ComponentProps<any>
onPaneScrollReact.ComponentProps<any>
onPaneMouseMoveReact.ComponentProps<any>
onPaneMouseEnterReact.ComponentProps<any>
onPaneMouseLeaveReact.ComponentProps<any>

Selection Events

NameTypeDefault
onSelectionChangeReact.ComponentProps<any>
onSelectionDragStartReact.ComponentProps<any>
onSelectionDragReact.ComponentProps<any>
onSelectionDragStopReact.ComponentProps<any>
onSelectionStartReact.ComponentProps<any>
onSelectionEndReact.ComponentProps<any>
onSelectionContextMenuReact.ComponentProps<any>

Interaction props

NameTypeDefault
nodesDraggableReact.ComponentProps<any>
nodesConnectableReact.ComponentProps<any>
nodesFocusableReact.ComponentProps<any>
edgesFocusableReact.ComponentProps<any>
elementsSelectableReact.ComponentProps<any>
autoPanOnConnectReact.ComponentProps<any>
autoPanOnNodeDragReact.ComponentProps<any>
autoPanOnSelectionReact.ComponentProps<any>
autoPanSpeedReact.ComponentProps<any>
panOnDragReact.ComponentProps<any>
selectionOnDragReact.ComponentProps<any>
selectionModeReact.ComponentProps<any>
panOnScrollReact.ComponentProps<any>
panOnScrollSpeedReact.ComponentProps<any>
panOnScrollModeReact.ComponentProps<any>
zoomOnScrollReact.ComponentProps<any>
zoomOnPinchReact.ComponentProps<any>
zoomOnDoubleClickReact.ComponentProps<any>
selectNodesOnDragReact.ComponentProps<any>
elevateNodesOnSelectReact.ComponentProps<any>
connectOnClickReact.ComponentProps<any>
connectionModeReact.ComponentProps<any>
zIndexModeReact.ComponentProps<any>

Connection line props

NameTypeDefault
connectionRadiusReact.ComponentProps<any>
connectionLineTypeReact.ComponentProps<any>
connectionLineStyleReact.ComponentProps<any>
connectionLineComponentReact.ComponentProps<any>
connectionLineContainerStyleReact.ComponentProps<any>

Keyboard props

React Flow let’s you pass in a few different keyboard shortcuts as another way to interact with your flow. We’ve tried to set up sensible defaults like using backspace to delete any selected nodes or edges, but you can use these props to set your own.

To disable any of these shortcuts, pass in null to the prop you want to disable.

NameTypeDefault
deleteKeyCodeReact.ComponentProps<any>
selectionKeyCodeReact.ComponentProps<any>
multiSelectionKeyCodeReact.ComponentProps<any>
zoomActivationKeyCodeReact.ComponentProps<any>
panActivationKeyCodeReact.ComponentProps<any>
disableKeyboardA11yReact.ComponentProps<any>

Style props

Applying certain classes to elements rendered inside the canvas will change how interactions are handled. These props let you configure those class names if you need to.

NameTypeDefault
noPanClassNameReact.ComponentProps<any>
noDragClassNameReact.ComponentProps<any>
noWheelClassNameReact.ComponentProps<any>

Notes

  • The props of this component get exported as ReactFlowProps
Last updated on
Morty Proxy This is a proxified and sanitized view of the page, visit original site.