Skip to Content
ExamplesFeature Overview

Feature Overview

This is an overview example of what’s possible with React Flow. Below you can see features like: built-in node and edge types, sub flows, NodeToolbar, NodeResizer components. On the bottom you see the Controls and the MiniMap components.

import React, { useCallback } from 'react'; import { ReactFlow, addEdge, MiniMap, Controls, Background, useNodesState, useEdgesState, } from '@xyflow/react'; import '@xyflow/react/dist/style.css'; import { nodes as initialNodes, edges as initialEdges, } from './initial-elements'; import AnnotationNode from './AnnotationNode'; import ToolbarNode from './ToolbarNode'; import ResizerNode from './ResizerNode'; import CircleNode from './CircleNode'; import TextInputNode from './TextInputNode'; import ButtonEdge from './ButtonEdge'; const nodeTypes = { annotation: AnnotationNode, tools: ToolbarNode, resizer: ResizerNode, circle: CircleNode, textinput: TextInputNode, }; const edgeTypes = { button: ButtonEdge, }; const nodeClassName = (node) => node.type; const OverviewFlow = () => { const [nodes, setNodes, onNodesChange] = useNodesState(initialNodes); const [edges, setEdges, onEdgesChange] = useEdgesState(initialEdges); const onConnect = useCallback( (params) => setEdges((eds) => addEdge(params, eds)), [], ); return ( <ReactFlow nodes={nodes} edges={edges} onNodesChange={onNodesChange} onEdgesChange={onEdgesChange} onConnect={onConnect} fitView attributionPosition="top-right" nodeTypes={nodeTypes} edgeTypes={edgeTypes} style={{ backgroundColor: "#F7F9FB" }} > <MiniMap zoomable pannable nodeClassName={nodeClassName} /> <Controls /> <Background /> </ReactFlow> ); }; export default OverviewFlow;
Last updated on