THE MEDIA FOR AI THAT ACTUALLY HELPS.French edition · Understand & take action
The interface is in English. Use cases, skills and articles remain in French.
Microsoft

Créer des nœuds React Flow typés, avec poignées et Zustand

react-flow-node-ts

En bref

Guide la création de composants de nœuds React Flow, avec des types TypeScript, des poignées (handles) et une intégration Zustand. On gagne à l’ouvrir pour construire des nœuds personnalisés sur un canevas React Flow, un éditeur de flux visuel, ou des composants d’interface fondés sur des nœuds. Cette skill appartient au catalogue officiel microsoft/skills (ensemble azure-sdk-typescript).

Ce que ça fait

  • Crée un nœud React Flow typé, avec poignées
  • Branche l’état du nœud sur Zustand

Pour qui, et un exemple

Les développeurs TypeScript qui construisent un éditeur de flux visuel ou des nœuds personnalisés React Flow, selon ce guide du catalogue Microsoft.

Exemple de demande : « Crée un nœud React Flow typé, avec ses poignées, et branche-le sur un store Zustand. »

À choisir pour des nœuds personnalisés sur un canevas React Flow, un éditeur de flux visuel, ou des composants d’interface fondés sur des nœuds, avec TypeScript, des poignées et Zustand. Exemple rédigé par iadujour.fr à partir du SKILL.md, non testé.

Installer

npx skills add microsoft/skills (sélection de la skill dans l’assistant, README).

npx skills add microsoft/skills

Fonctionne avec

  • GitHub Copilot
  • Copilot CLI

Source : README : exemples de « Copilot CLI » et « GitHub Copilot in VS Code » ; l’installation `npx skills add` envoie les fichiers vers le répertoire de l’agent choisi, sans liste exhaustive.

Niveau : Intermédiaire

Suppose un projet de l’éditeur et la maîtrise du SDK ou de la CLI correspondante.

À savoir

Dépôt officiel Microsoft ; le README le présente comme un travail en cours (skills et tests encore enrichis).

Extrait du SKILL.md

La description d’origine, celle que l’agent lit pour décider de charger la skill (en anglais) :

Create React Flow node components with TypeScript types, handles, and Zustand integration. Use when building custom nodes for React Flow canvas, creating visual workflow editors, or implementing node-based UI components.

Citée depuis le SKILL.md au commit e1f9cce . Le dossier contient aussi 2 fichiers annexes (assets/).

Le SKILL.md compte 61 lignes et 5 sections principales :

  • Quick Start
  • Templates
  • Node Component Pattern
  • Type Definition Pattern
  • Integration Steps

Licence : MIT

Vérifiée le 10 novembre 2026 sur : fichier LICENSE du dépôt . Licence déclarée dans le frontmatter : « MIT ». Titulaire : Copyright (c) Microsoft Corporation..

La licence autorise la reprise : le texte intégral du SKILL.md est reproduit ci-dessous, sans modification, avec sa mention de licence.

Texte intégral du SKILL.md

Reproduit sans modification depuis microsoft/skills (commit e1f9cce) , © Microsoft, sous licence MIT (fichier de licence d’origine ).

Afficher le SKILL.md original (61 lignes, en anglais)
---
name: react-flow-node-ts
description: Create React Flow node components with TypeScript types, handles, and Zustand integration. Use when building custom nodes for React Flow canvas, creating visual workflow editors, or implementing node-based UI components.
license: MIT
metadata:
  author: Microsoft
  version: "1.0.0"
---

# 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
Source. Fiche rédigée par iadujour.fr à partir de : Frontmatter, sections et corps du SKILL.md, README du dépôt. Consultée le 10 novembre 2026. Dépôt : microsoft/skills .
MÊME ÉDITEUR

Autres skills Microsoft : Outils de développement

Toute la catégorie
MicrosoftOutils de développement

Capturer la sortie de débogage Windows avec DebugView CLI

debugview

Porte sur Sysinternals DebugView CLI (DbgViewCli), pour capturer et analyser, en ligne de commande, la sortie de débogage Windows en mode utilisateur ou noyau : OutputDebugString, DbgPrint/KdPrint, journalisation au démarrage, surveillance distante, filtrage par PID ou nom de processus, analyse de vidage sur incident, et capture automatisée à exécution bornée.

Outils : GitHub Copilot, Copilot CLINiveau : Avancémàj 16/06/2026
ÉCHANGES

Commentaires.

Un retour d’expérience, une question, une précision sur cette skill ? Les commentaires sont relus avant publication.

Commentaires publiés

Chargement des commentaires…

    Laisser un commentaire

    Charte de modération. Chaque commentaire est relu avant publication. Sont refusés : l’incitation à la haine, les propos injurieux ou discriminatoires, la publicité, le spam et les liens promotionnels, le hors-sujet et les données personnelles d’autrui.