fix: add memo hook to handle filter to prevent excessive renders (icons loading error) (#7317)

♻️ (GenericNode/index.tsx): refactor selectedNodes to selectedNodesCount for better readability and performance optimization
This commit is contained in:
Cristhian Zanforlin Lousa 2025-03-27 18:19:25 -03:00 committed by GitHub
commit d0e526d9f0
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -259,12 +259,12 @@ function GenericNode({
return data.node?.description && data.node?.description !== "";
}, [data.node?.description]);
const selectedNodes = useFlowStore((state) =>
state.nodes.filter((node) => node.selected),
);
const selectedNodesCount = useMemo(() => {
return useFlowStore.getState().nodes.filter((node) => node.selected).length;
}, [selected]);
const memoizedNodeToolbarComponent = useMemo(() => {
return selected && selectedNodes.length === 1 ? (
return selected && selectedNodesCount === 1 ? (
<>
<div
className={cn(
@ -345,7 +345,7 @@ function GenericNode({
editNameDescription,
hasChangedNodeDescription,
toggleEditNameDescription,
selectedNodes,
selectedNodesCount,
]);
useEffect(() => {