diff --git a/src/container/NodeRenderer/index.tsx b/src/container/NodeRenderer/index.tsx
index 9f8c2880..6661fb6e 100644
--- a/src/container/NodeRenderer/index.tsx
+++ b/src/container/NodeRenderer/index.tsx
@@ -4,6 +4,7 @@ import shallow from 'zustand/shallow';
import { useStore } from '../../store';
import { Node, NodeTypesType, ReactFlowState, WrapNodeProps, SnapGrid, NodeRendererNode } from '../../types';
import useVisibleNodes from '../../hooks/useVisibleNodes';
+import useNodeLookupRef from '../../hooks/useNodeLookupRef';
interface NodeRendererProps {
nodeTypes: NodeTypesType;
@@ -28,7 +29,6 @@ const selector = (s: ReactFlowState) => ({
updateNodeDimensions: s.updateNodeDimensions,
snapGrid: s.snapGrid,
snapToGrid: s.snapToGrid,
- nodeLookup: s.nodeLookup,
});
interface NodeProps extends NodeRendererProps {
@@ -131,9 +131,8 @@ const NodeRenderer = (props: NodeRendererProps) => {
updateNodeDimensions,
snapGrid,
snapToGrid,
- nodeLookup,
} = useStore(selector, shallow);
-
+ const nodeLookup = useNodeLookupRef();
const nodes = useVisibleNodes(props.onlyRenderVisibleElements);
const resizeObserver = useMemo(() => {
@@ -155,7 +154,7 @@ const NodeRenderer = (props: NodeRendererProps) => {
{nodes.map((node) => {
const nodeType = node.type || 'default';
- const lookupNode = nodeLookup.get(node.id);
+ const lookupNode = nodeLookup.current.get(node.id);
if (!props.nodeTypes[nodeType]) {
console.warn(`Node type "${nodeType}" not found. Using fallback type "default".`);
diff --git a/src/hooks/useNodeLookupRef.ts b/src/hooks/useNodeLookupRef.ts
new file mode 100644
index 00000000..707751f3
--- /dev/null
+++ b/src/hooks/useNodeLookupRef.ts
@@ -0,0 +1,14 @@
+import { useRef, useEffect } from 'react';
+
+import { useStoreApi } from '../store';
+
+function useNodeLookupRef() {
+ const store = useStoreApi();
+ const nodeLookup = useRef(store.getState().nodeLookup);
+
+ useEffect(() => store.subscribe((state) => (nodeLookup.current = state.nodeLookup)), []);
+
+ return nodeLookup;
+}
+
+export default useNodeLookupRef;
diff --git a/src/utils/graph.ts b/src/utils/graph.ts
index cdcc2d1f..bc648a7c 100644
--- a/src/utils/graph.ts
+++ b/src/utils/graph.ts
@@ -309,10 +309,6 @@ function applyChanges(changes: NodeChange[] | EdgeChange[], elements: any[]): an
updateItem.height = currentChange.dimensions.height;
}
- if (typeof currentChange.handleBounds !== 'undefined') {
- updateItem.handleBounds = currentChange.handleBounds;
- }
-
if (typeof currentChange.position !== 'undefined') {
updateItem.position = currentChange.position;
}