react-flow-node-ts
microsoft/skills
TypeScript 타입, 핸들, Zustand 스토어 통합을 사용하여 시각적 워크플로우 편집기에서 사용자 정의 노드를 구축하기 위한 React Flow 노드 컴포넌트를 생성합니다.
...모든 것을 확장하십시오React Flow 노드
확립된 패턴을 따르고 적절한 TypeScript 타입 및 스토어 통합을 갖춘 React Flow 노드 컴포넌트를 생성합니다.
빠른 시작
assets/에서 템플릿을 복사하고 자리표현자를 교체합니다:
{{NodeName}}→ PascalCase 컴포넌트 이름 (예:VideoNode){{nodeType}}→ kebab-case 타입 식별자 (예:video-node){{NodeData}}→ 데이터 인터페이스 이름 (예:VideoNodeData)
템플릿
- assets/template.tsx - 노드 컴포넌트
- assets/types.template.ts - TypeScript 정의
노드 컴포넌트 패턴
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>
{/* 노드 콘텐츠 */}
<handle></handle>
>
);
});
타입 정의 패턴
export interface MyNodeData extends Record<string> {
title: string;
description?: string;
}
export type MyNode = Node<mynodedata>;
</mynodedata></string>통합 단계
src/frontend/src/types/index.ts에 타입 추가src/frontend/src/components/nodes/에 컴포넌트 생성src/frontend/src/components/nodes/index.ts에서 내보내기src/frontend/src/store/app-store.ts에 기본값 추가- 캔버스
nodeTypes에 등록 - AddBlockMenu 및 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
모든 파일
0개 파일react-flow-node-ts 설치
스킬 파일을 다운로드하여 .claude/skills/ 디렉토리에 추출하세요.
ZIP 다운로드저장소를 클론하고 스킬 파일을 프로젝트에 복사하세요.
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
복사





집
