From ec9a4b2607fd6a56b59708f5cb8207352a1bcaec Mon Sep 17 00:00:00 2001 From: jialin Date: Tue, 20 Jan 2026 14:47:12 +0800 Subject: [PATCH] fix: duplicate watch created --- .../components/add-worker/add-worker-step.tsx | 11 ++++++----- .../components/add-worker/index.tsx | 18 +++++------------- 2 files changed, 11 insertions(+), 18 deletions(-) diff --git a/src/pages/cluster-management/components/add-worker/add-worker-step.tsx b/src/pages/cluster-management/components/add-worker/add-worker-step.tsx index 2f74c967..f7eec244 100644 --- a/src/pages/cluster-management/components/add-worker/add-worker-step.tsx +++ b/src/pages/cluster-management/components/add-worker/add-worker-step.tsx @@ -74,7 +74,6 @@ const AddWorkerSteps: React.FC = (props) => { const handleOnClusterChange = (value: number, row?: any) => { onClusterChange?.(value, row); - createModelsChunkRequest({ cluster_id: value }); }; React.useEffect(() => { @@ -83,11 +82,13 @@ const AddWorkerSteps: React.FC = (props) => { }, [stepList]); React.useEffect(() => { - // this effect is only triggered when used in cluster create page - if (actionSource === 'page') { - createModelsChunkRequest(); + // this effect is only triggered when used in cluster create page inner + if (actionSource === 'page' && registrationInfo?.cluster_id) { + createModelsChunkRequest({ + cluster_id: registrationInfo?.cluster_id + }); } - }, [actionSource]); + }, [actionSource, registrationInfo?.cluster_id]); const renderMessage = (count: number) => { if (count === 1) { diff --git a/src/pages/cluster-management/components/add-worker/index.tsx b/src/pages/cluster-management/components/add-worker/index.tsx index ef5b6465..e15a5c03 100644 --- a/src/pages/cluster-management/components/add-worker/index.tsx +++ b/src/pages/cluster-management/components/add-worker/index.tsx @@ -77,6 +77,7 @@ const AddWorker: React.FC = (props) => { const handleOnClusterChange = async (value: number, row?: any) => { try { + createModelsChunkRequest({ cluster_id: value }); axiosTokenRef.current?.cancel?.(); axiosTokenRef.current = createAxiosToken(); const data = await queryClusterToken( @@ -97,21 +98,12 @@ const AddWorker: React.FC = (props) => { if (open && cluster_id && firstLoad.current) { handleOnClusterChange(cluster_id); } - return () => { + if (!open) { + reset(); + axiosTokenRef.current?.cancel?.(); firstLoad.current = true; - axiosTokenRef.current?.cancel?.(); - reset(); - }; - }, [open, cluster_id]); - - useEffect(() => { - if (open) { - createModelsChunkRequest(); - } else { - reset(); - axiosTokenRef.current?.cancel?.(); } - }, [open]); + }, [open, cluster_id]); const renderMessage = (count: number) => { if (count === 1) {