react-flow-node-ts
microsoft/skills
Crie componentes de nó do React Flow com tipos TypeScript, manipuladores e integração com o armazenamento Zustand para construir nós personalizados em editores de fluxo visual.
...Expandir tudoNó do React Flow
Crie componentes de nó do React Flow seguindo padrões estabelecidos, com tipos TypeScript adequados e integração com o armazenamento (store).
Início Rápido
Copie os modelos de assets/ e substitua os espaços reservados:
{{NodeName}}→ nome do componente em PascalCase (por exemplo,VideoNode){{nodeType}}→ identificador de tipo em kebab-case (por exemplo,video-node){{NodeData}}→ nome da interface de dados (por exemplo,VideoNodeData)
Modelos
- assets/template.tsx - Componente do nó
- assets/types.template.ts - Definições TypeScript
Padrão do Componente do Nó
export const MyNode = memo(function MyNode({
id,
data,
selected,
width,
height,
}: MyNodeProps) {
const updateNode = useAppStore((state) => state.updateNode);
const canvasMode = useAppStore((state) => state.canvasMode);
return (
<noderesizer></noderesizer><handle></handle>
{/* Conteúdo do nó */}
<handle></handle>
>
);
});
Padrão de Definição de Tipo
export interface MyNodeData extends Record<string> {
title: string;
description?: string;
}
export type MyNode = Node<mynodedata>;
</mynodedata></string>Etapas de Integração
- Adicione o tipo em
src/frontend/src/types/index.ts - Crie o componente em
src/frontend/src/components/nodes/ - Exporte de
src/frontend/src/components/nodes/index.ts - Adicione os valores padrão em
src/frontend/src/store/app-store.ts - Registre em
nodeTypesdo canvas - Adicione ao AddBlockMenu e ConnectMenu
---
name: react-flow-node-ts
description: Create React Flow node components with TypeScript types, handles, and Zustand store integration for building custom nodes in visual workflow editors.
license: MIT
---
# React Flow Node
Create React Flow node components following established patterns with proper TypeScript types and store integration.
## Quick Start
Copy templates from [assets/](assets/) and replace placeholders:
- `{{NodeName}}` → PascalCase component name (e.g., `VideoNode`)
- `{{nodeType}}` → kebab-case type identifier (e.g., `video-node`)
- `{{NodeData}}` → Data interface name (e.g., `VideoNodeData`)
## Templates
- [assets/template.tsx](assets/template.tsx) - Node component
- [assets/types.template.ts](assets/types.template.ts) - TypeScript definitions
## Node Component Pattern
```tsx
export const MyNode = memo(function MyNode({
id,
data,
selected,
width,
height,
}: MyNodeProps) {
const updateNode = useAppStore((state) => state.updateNode);
const canvasMode = useAppStore((state) => state.canvasMode);
return (
<>
<NodeResizer isVisible={selected && canvasMode === 'editing'} />
<div className="node-container">
<Handle type="target" position={Position.Top} />
{/* Node content */}
<Handle type="source" position={Position.Bottom} />
</div>
</>
);
});
```
## Type Definition Pattern
```typescript
export interface MyNodeData extends Record<string, unknown> {
title: string;
description?: string;
}
export type MyNode = Node<MyNodeData, 'my-node'>;
```
## Integration Steps
1. Add type to `src/frontend/src/types/index.ts`
2. Create component in `src/frontend/src/components/nodes/`
3. Export from `src/frontend/src/components/nodes/index.ts`
4. Add defaults in `src/frontend/src/store/app-store.ts`
5. Register in canvas `nodeTypes`
6. Add to AddBlockMenu and ConnectMenu
Todos os arquivos
0 arquivosInstalar react-flow-node-ts
Baixe e extraia os arquivos de habilidade para o diretório .claude/skills/.
Baixar ZIPClone o repositório e copie os arquivos da habilidade para o seu projeto.
git clone https://github.com/microsoft/skills/tree/main/.github/plugins/azure-sdk-typescript/skills/react-flow-node-ts # Copy SKILL.md to your .claude/skills/ directory
Copiar





Lar
