技能 react-flow-architect
📦

react-flow-architect

安全

使用 ReactFlow 构建交互式图形应用

创建复杂的基于节点的图形可视化需要管理分层数据、性能优化和状态同步。此技能提供了构建生产级 ReactFlow 应用程序的经验证模式,具有高效渲染和高级导航功能。

支持: Claude Codex Code(CC)
🥉 73 青铜
1

下载技能 ZIP

2

在 Claude 中上传

前往 设置 → 功能 → 技能 → 上传技能

3

开启并开始使用

测试它

正在使用“react-flow-architect”。 创建一个具有三个连接节点的基本 ReactFlow 图,表示简单的工作流

预期结果:

一个完整的 ReactFlow 组件,具有适当类型的节点和边。图形顺序显示三个工作流步骤,具有交互式选择功能。

正在使用“react-flow-architect”。 向分层节点树添加展开/折叠功能

预期结果:

实现具有递归子节点发现、expandedIds Set 管理和增量渲染的 buildVisibleNodes 函数。父节点显示子节点计数指示器和用于展开控制的切换按钮。

安全审计

安全
v1 • 2/24/2026

Static analysis flagged 110 potential issues but all are false positives. The skill contains documentation and TypeScript code examples for ReactFlow graph visualization. No executable code, external commands, cryptographic operations, or system access patterns exist. The 31 external_commands findings reference code snippets in documentation, not actual shell execution. The 79 cryptographic algorithm findings have no basis - no crypto code exists in this visualization skill.

1
已扫描文件
619
分析行数
0
发现项
1
审计总数
未发现安全问题
审计者: claude

质量评分

38
架构
100
可维护性
87
内容
50
社区
100
安全
87
规范符合性

你能构建什么

工作流图构建器

创建交互式工作流图,用户可以展开流程类别、查看步骤详细信息,并通过平滑过渡导航连接的工作流。

系统架构可视化工具

构建具有分层组件视图的系统架构图,允许团队交互式探索微服务依赖关系和数据流连接。

数据管道探索器

可视化数据管道,节点表示转换,边显示数据流,使用户能够跟踪数据谱系并识别瓶颈。

试试这些提示

基本图形设置
创建一个具有 5 个节点和连接边的基本 ReactFlow 图组件。包括节点和边接口的适当 TypeScript 类型,具有位置数据和标签。
具有展开功能的分层树
构建一个分层树结构,其中节点可以展开以显示子节点。实现具有 level、hasChildren、isExpanded 和 category 属性的 TreeNode 接口。包括用于增量渲染的 buildVisibleNodes 函数。
性能优化实现
实现具有基于 useMemo 的变更检测的 useIncrementalGraph hook。比较扩展列表更改与其他依赖项以启用增量更新。包括可见节点和边的缓存。
与 Dagre 集成的自动布局
使用 Dagre 创建 applyLayout 函数以实现自动节点定位。配置 rankdir、nodesep 和 ranksep 选项。实现具有缓存功能的防抖布局计算,以在快速更改期间防止冗余计算。

最佳实践

  • 对自定义节点组件使用 React.memo 和自定义比较函数,以防止仅在选定状态更改时不必要的重新渲染
  • 实现延迟 150ms 的防抖布局计算,以在快速用户交互期间避免昂贵的 Dagre 计算
  • 使用带有生成缓存键的 Map 缓存布局结果,以便在返回到已知图形状态时无需重新计算即可恢复先前的布局

避免

  • 在渲染中直接调用布局函数而不使用 memoization 会导致每次状态更改时进行昂贵的重新计算
  • 在热路径中使用 array.find 进行节点查找而不是基于 Map 的 O(1) ���问会在大规模图形中造成性能瓶颈
  • 将展开状态存储为数组而不是 Set 会导致在递归树遍历期间检查可见性时出现 O(n) 查找时间

常见问题

ReactFlow 在性能下降之前可以处理多少个节点?
ReactFlow 可以通过适当的 memoization 处理 500+ 节点。对于 1000+ 节点,实现来自此技能的虚拟化和增量渲染模式。useIncrementalGraph hook 通过仅更新更改的部分来减少渲染时间。
基本图形布局需要 Dagre 吗?
不需要,Dagre 对于自动布局是可选的。您可以使用 position 属性手动定位节点。对于自动分层安排节省时间的复杂图形,建议使用 Dagre 集成。
如何为图形更改实现撤销/重做?
使用包含 history 数组和 historyIndex 的 GraphState 的历史管理模式。在更改时保存状态快照,并通过 reducer 在撤销/重做操作上导航 history 数组。
我可以自定义节点外观以超出默认样式吗?
可以,使用 React.memo 创建自定义节点组件。通过 ReactFlow 中的 nodeTypes prop 传递您的组件。自定义节点接收 data、selected 和其他 props 以进行完全样式控制。
如何聚焦于特定节点及其连接?
使用基于选定节点过滤节点和边的 useFocusMode hook 模式。它识别直接连接,并使用不透明度和模糊过渡使不相关的元素变暗。
ReactFlow 节点需要什么 TypeScript 类型?
使用您的数据接口扩展基本 Node 类型。对于分层树,在数据对象中包括 level、hasChildren、isExpanded、childCount 和 category 属性,以实现适当的类型安全。

开发者详情

文件结构

📄 SKILL.md