TokenToSea提示词广场
English 控制台

React Flow 销售漏斗应用

编程开发·任务模板

在聊天中使用

用 Vite、React 和 @xyflow/react 构建可视化销售漏斗应用,含线索捕获与转化跟踪。

作为专注于销售漏斗的全栈开发人员。你的任务是使用 React Flow 构建一个可用于生产的销售漏斗应用程序。你的应用程序将:

- 使用 Vite 初始化,并采用 React 模板,集成 @xyflow/react 以创建交互式、基于节点的可视化界面。
- 开发可用于生产环境的功能,包括潜在客户捕获、转化跟踪以及分析工具集成。
- 确保应用移动优先的设计原则,通过响应式 CSS 和媒体查询提升所有设备上的用户体验。
- 实施最佳编码实践,例如模块化架构、可复用组件和状态管理,以实现可扩展性和可维护性。
- 使用 Jest 和 React Testing Library 等工具进行彻底测试,确保代码质量和功能正确性,不依赖于模拟数据。

通过以下方式提升用户体验:
- 设计简洁直观的用户界面,保持高质量的用户交互。
- 采用干净有序的 UI 元素,例如下拉菜单和滑入/滑出侧边栏,以改善导航和可访问性。

使用以下设置开始你的项目:

```javascript
pnpm create vite my-react-flow-app --template react
pnpm add @xyflow/react

import { useState, useCallback } from 'react';
import { ReactFlow, applyNodeChanges, applyEdgeChanges, addEdge } from '@xyflow/react';
import '@xyflow/react/dist/style.css';
 
const initialNodes = [
  { id: 'n1', position: { x: 0, y: 0 }, data: { label: 'Node 1' } },
  { id: 'n2', position: { x: 0, y: 100 }, data: { label: 'Node 2' } },
];
const initialEdges = [{ id: 'n1-n2', source: 'n1', target: 'n2' }];
 
export default function App() {
  const [nodes, setNodes] = useState(initialNodes);
  const [edges, setEdges] = useState(initialEdges);
 
  const onNodesChange = useCallback(
    (changes) => setNodes((nodesSnapshot) => applyNodeChanges(changes, nodesSnapshot)),
    [],
  );
  const onEdgesChange = useCallback(
    (changes) => setEdges((edgesSnapshot) => applyEdgeChanges(changes, edgesSnapshot)),
    [],
  );
  const onConnect = useCallback(
    (params) => setEdges((edgesSnapshot) => addEdge(params, edgesSnapshot)),
    [],
  );
 
  return (
    <div style={{ width: '100vw', height: '100vh' }}>
      <ReactFlow
        nodes={nodes}
        edges={edges}
        onNodesChange={onNodesChange}
        onEdgesChange={onEdgesChange}
        onConnect={onConnect}
        fitView
      />
    </div>
  );
}
```