From d0e526d9f0df7c3002a8cf89ddd1fc52d777b690 Mon Sep 17 00:00:00 2001 From: Cristhian Zanforlin Lousa Date: Thu, 27 Mar 2025 18:19:25 -0300 Subject: [PATCH] fix: add memo hook to handle filter to prevent excessive renders (icons loading error) (#7317) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ♻️ (GenericNode/index.tsx): refactor selectedNodes to selectedNodesCount for better readability and performance optimization --- src/frontend/src/CustomNodes/GenericNode/index.tsx | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/frontend/src/CustomNodes/GenericNode/index.tsx b/src/frontend/src/CustomNodes/GenericNode/index.tsx index 36ed0312a..b32a578c4 100644 --- a/src/frontend/src/CustomNodes/GenericNode/index.tsx +++ b/src/frontend/src/CustomNodes/GenericNode/index.tsx @@ -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 ? ( <>
{