參考文檔鉤子

useOnSelectionChange

GitHub 上的原始碼

此鉤子可讓您監聽節點和邊緣選擇的變更。顧名思義,當節點或邊緣的選擇發生變更時,您提供的回呼函式將會被呼叫。

您需要記憶化傳入的 onChange 處理函式,否則此鉤子將無法正常運作。

import { useState } from 'react';
import { ReactFlow, useOnSelectionChange } from '@xyflow/react';
 
function SelectionDisplay() {
  const [selectedNodes, setSelectedNodes] = useState([]);
  const [selectedEdges, setSelectedEdges] = useState([]);
 
  // the passed handler has to be memoized, otherwise the hook will not work correctly
  const onChange = useCallback(({ nodes, edges }) => {
    setSelectedNodes(nodes.map((node) => node.id));
    setSelectedEdges(edges.map((edge) => edge.id));
  }, []);
 
  useOnSelectionChange({
    onChange,
  });
 
  return (
    <div>
      <p>Selected nodes: {selectedNodes.join(', ')}</p>
      <p>Selected edges: {selectedEdges.join(', ')}</p>
    </div>
  );
}

簽名

#參數
#options
物件
#options.onChange
(參數: { 節點: Node[]; 邊緣: Edge[]; }) => void
#回傳值
void

注意事項