refactor(react/svelte): use node lookup for perf improvement
This commit is contained in:
@@ -43,7 +43,7 @@ const ConnectionLine = ({
|
||||
const { fromNode, handleId, toX, toY, connectionMode } = useStore(
|
||||
useCallback(
|
||||
(s: ReactFlowStore) => ({
|
||||
fromNode: s.nodes.find((n) => n.id === nodeId),
|
||||
fromNode: s.nodesLookup.get(nodeId),
|
||||
handleId: s.connectionStartHandle?.handleId,
|
||||
toX: (s.connectionPosition.x - s.transform[0]) / s.transform[2],
|
||||
toY: (s.connectionPosition.y - s.transform[1]) / s.transform[2],
|
||||
|
||||
@@ -53,9 +53,9 @@ export default (EdgeComponent: ComponentType<EdgeProps>) => {
|
||||
const [updateHover, setUpdateHover] = useState<boolean>(false);
|
||||
const [updating, setUpdating] = useState<boolean>(false);
|
||||
const store = useStoreApi();
|
||||
const edgePosition = useStore((state) => {
|
||||
const sourceNode = state.nodes.find((n) => n.id === source);
|
||||
const targetNode = state.nodes.find((n) => n.id === target);
|
||||
const edgePosition = useStore(function edgeSelector(state) {
|
||||
const sourceNode = state.nodesLookup.get(source);
|
||||
const targetNode = state.nodesLookup.get(target);
|
||||
|
||||
if (!sourceNode || !targetNode) {
|
||||
return null;
|
||||
|
||||
Reference in New Issue
Block a user