diff --git a/packages/react/src/hooks/useReactFlow.ts b/packages/react/src/hooks/useReactFlow.ts index 5f3d2acb..da407778 100644 --- a/packages/react/src/hooks/useReactFlow.ts +++ b/packages/react/src/hooks/useReactFlow.ts @@ -47,10 +47,7 @@ export function useReactFlow ({ ...e })) as EdgeType[]; }, []); - const getEdge = useCallback>((id) => { - const { edges = [] } = store.getState(); - return edges.find((e) => e.id === id) as EdgeType; - }, []); + const getEdge = useCallback>((id) => store.getState().edgeLookup.get(id) as EdgeType, []); type SetElementsQueue = { nodes: (NodeType[] | ((nodes: NodeType[]) => NodeType[]))[]; diff --git a/packages/system/src/utils/store.ts b/packages/system/src/utils/store.ts index 7611056c..56eba62b 100644 --- a/packages/system/src/utils/store.ts +++ b/packages/system/src/utils/store.ts @@ -183,8 +183,9 @@ export function handleExpandParent( const dimensions = getNodeDimensions(parent); // determine how much the parent expands by moving the position - let xChange = expandedRect.x < position.x ? Math.round(Math.abs(position.x - expandedRect.x)) : 0; - let yChange = expandedRect.y < position.y ? Math.round(Math.abs(position.y - expandedRect.y)) : 0; + const xChange = expandedRect.x < position.x ? Math.round(Math.abs(position.x - expandedRect.x)) : 0; + const yChange = expandedRect.y < position.y ? Math.round(Math.abs(position.y - expandedRect.y)) : 0; + if (xChange > 0 || yChange > 0) { changes.push({ id: parentId,