Witam,
tworzę interaktywny diagram, którego jedną z opcji jest zmiana koloru węzła. Wszystkie węzły przechowuję w tablicy w formie obiektów. Następnie w komponencie węzła pobieram tę tablicę i odszukuję węzła o konkretnym id. Chciałbym w jakiś sposób przechować dane węzła, żeby nie korzystać ciągle z find
na tablicy. Jednak kiedy użyję w taki sposób useEffect:
useEffect(() => {
if (!nodes) return;
setCurrentNodeData(nodes?.find((el) => el.id === id));
}, [nodes]);
Wykonuje on się wielokrotnie podczas przeciągania węzła. Jest to spowodowane tym, że podczas przeciągania zmieniana jest jedna z wartości obiektu, która w tym komponencie nie jest istotna. Czy da się tego uniknąć i reagować tylko na zmiany konkretnej właściwości konkretnego obiektu?
Korzystam z React-Flow