fix(frontend): clean up voice preview listeners
This commit is contained in:
@@ -176,6 +176,10 @@ export function WorkflowCanvas({
|
||||
const [addOpen, setAddOpen] = useState(false);
|
||||
const [addSourceId, setAddSourceId] = useState<string | null>(null);
|
||||
const [addPosition, setAddPosition] = useState<{ x: number; y: number } | null>(null);
|
||||
// Fast Refresh 会替换模块级对象,而保留 React Flow 实例。用 state 固定本次
|
||||
// 挂载使用的映射,避免热更新后被误判为每次渲染都在创建新对象。
|
||||
const [flowNodeTypes] = useState(nodeTypes);
|
||||
const [flowEdgeTypes] = useState(edgeTypes);
|
||||
const { screenToFlowPosition } = useReactFlow();
|
||||
|
||||
// 只在可持久化的画布内容真正变化时回传。React Flow 挂载时会写入节点尺寸等
|
||||
@@ -569,8 +573,8 @@ export function WorkflowCanvas({
|
||||
<ReactFlow
|
||||
nodes={nodes}
|
||||
edges={edges}
|
||||
nodeTypes={nodeTypes}
|
||||
edgeTypes={edgeTypes}
|
||||
nodeTypes={flowNodeTypes}
|
||||
edgeTypes={flowEdgeTypes}
|
||||
onNodesChange={handleNodesChange}
|
||||
onEdgesChange={onEdgesChange}
|
||||
onConnect={onConnect}
|
||||
|
||||
Reference in New Issue
Block a user