fix useNodesData returning undefined in svelte flow

This commit is contained in:
peterkogo
2024-10-08 11:41:25 +02:00
parent eb71e34d44
commit fba54e669d
3 changed files with 6 additions and 4 deletions
@@ -22,6 +22,7 @@ export function useNodesData(nodeIds: any): any {
const { nodes, nodeLookup } = useStore();
// eslint-disable-next-line @typescript-eslint/no-explicit-any
let prevNodesData: any[] = [];
let initialRun = true;
return derived([nodes, nodeLookup], ([, nodeLookup], set) => {
const nextNodesData = [];
@@ -39,9 +40,10 @@ export function useNodesData(nodeIds: any): any {
}
}
if (!shallowNodeData(nextNodesData, prevNodesData)) {
prevNodesData = nextNodesData;
if (!shallowNodeData(nextNodesData, prevNodesData) || initialRun) {
prevNodesData = [...nextNodesData];
set(isArrayOfIds ? nextNodesData : nextNodesData[0] ?? null);
initialRun = false;
}
});
}