Skip to Content
ExamplesInteraction

Computing Flows

This example shows how to use the computing flow helpers useNodesData, useNodeConnections and updateNode. You can find more detailed information about this in the Computing Flows Guide.

import { useCallback } from 'react'; import { ReactFlow, Controls, addEdge, useNodesState, useEdgesState, Background, type Edge, type OnConnect, } from '@xyflow/react'; import './index.css'; import TextNode from './TextNode'; import ResultNode from './ResultNode'; import UppercaseNode from './UppercaseNode'; import { type MyNode } from './initialElements'; const nodeTypes = { text: TextNode, result: ResultNode, uppercase: UppercaseNode, }; const initNodes: MyNode[] = [ { id: '1', type: 'text', data: { text: 'hello', }, position: { x: -100, y: -50 }, }, { id: '2', type: 'text', data: { text: 'world', }, position: { x: 0, y: 100 }, }, { id: '3', type: 'uppercase', data: { text: '' }, position: { x: 100, y: -100 }, }, { id: '4', type: 'result', data: {}, position: { x: 300, y: -75 }, }, ]; const initEdges: Edge[] = [ { id: 'e1-3', source: '1', target: '3', }, { id: 'e3-4', source: '3', target: '4', }, { id: 'e2-4', source: '2', target: '4', }, ]; const CustomNodeFlow = () => { const [nodes, , onNodesChange] = useNodesState(initNodes); const [edges, setEdges, onEdgesChange] = useEdgesState(initEdges); const onConnect: OnConnect = useCallback( (connection) => setEdges((eds) => addEdge(connection, eds)), [setEdges], ); return ( <ReactFlow nodes={nodes} edges={edges} onNodesChange={onNodesChange} onEdgesChange={onEdgesChange} onConnect={onConnect} nodeTypes={nodeTypes} fitView colorMode="system" > <Controls /> <Background /> </ReactFlow> ); }; export default CustomNodeFlow;
Last updated on
Morty Proxy This is a proxified and sanitized view of the page, visit original site.