From 43bb508ecd569b6de3aa37186967998826cfbb9b Mon Sep 17 00:00:00 2001 From: zzyangh <799463087@qq.com> Date: Wed, 7 Aug 2024 11:12:32 +0800 Subject: [PATCH 1/2] [fix](ProjectOverview): Refresh project parameters after switching projects --- .../sqle/src/page/ProjectOverview/hooks/useChatsDataByAPI.ts | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/sqle/src/page/ProjectOverview/hooks/useChatsDataByAPI.ts b/packages/sqle/src/page/ProjectOverview/hooks/useChatsDataByAPI.ts index d07907625..452b738f7 100644 --- a/packages/sqle/src/page/ProjectOverview/hooks/useChatsDataByAPI.ts +++ b/packages/sqle/src/page/ProjectOverview/hooks/useChatsDataByAPI.ts @@ -5,6 +5,7 @@ import { useEffect, useState } from 'react'; import eventEmitter from '../../../utils/EventEmitter'; import EmitterKey from '../../../data/EmitterKey'; import { ResponseCode } from '@actiontech/shared/lib/enum'; +import { useCurrentProject } from '@actiontech/shared/lib/global'; const useChatsDataByAPI = < T extends { @@ -16,6 +17,7 @@ const useChatsDataByAPI = < { onSuccess }: { onSuccess: (res: AxiosResponse) => void } ) => { const { t } = useTranslation(); + const { projectID } = useCurrentProject(); const [loading, { setFalse: finishGetData, setTrue: startGetData }] = useBoolean(false); const [errorMessage, setErrorMessage] = useState(''); @@ -27,7 +29,7 @@ const useChatsDataByAPI = < ); return unsubscribe; // eslint-disable-next-line react-hooks/exhaustive-deps - }, []); + }, [projectID]); const getData = () => { startGetData(); From 4b3237f3cbec16ae64201bdfa5ca2f2b3c669844 Mon Sep 17 00:00:00 2001 From: zzyangh <799463087@qq.com> Date: Wed, 7 Aug 2024 13:24:17 +0800 Subject: [PATCH 2/2] [fix](ProjectOverview): Add dependencies for useEffect and useCallback --- .../hooks/useChatsDataByAPI.ts | 23 +++++++++---------- 1 file changed, 11 insertions(+), 12 deletions(-) diff --git a/packages/sqle/src/page/ProjectOverview/hooks/useChatsDataByAPI.ts b/packages/sqle/src/page/ProjectOverview/hooks/useChatsDataByAPI.ts index 452b738f7..85428cc6f 100644 --- a/packages/sqle/src/page/ProjectOverview/hooks/useChatsDataByAPI.ts +++ b/packages/sqle/src/page/ProjectOverview/hooks/useChatsDataByAPI.ts @@ -1,7 +1,7 @@ import { AxiosResponse } from 'axios'; import { useTranslation } from 'react-i18next'; import { useBoolean } from 'ahooks'; -import { useEffect, useState } from 'react'; +import { useEffect, useState, useCallback } from 'react'; import eventEmitter from '../../../utils/EventEmitter'; import EmitterKey from '../../../data/EmitterKey'; import { ResponseCode } from '@actiontech/shared/lib/enum'; @@ -22,16 +22,7 @@ const useChatsDataByAPI = < useBoolean(false); const [errorMessage, setErrorMessage] = useState(''); - useEffect(() => { - const { unsubscribe } = eventEmitter.subscribe( - EmitterKey.Refresh_Project_Overview, - getData - ); - return unsubscribe; - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [projectID]); - - const getData = () => { + const getData = useCallback(() => { startGetData(); server() .then((res) => { @@ -48,7 +39,15 @@ const useChatsDataByAPI = < .finally(() => { finishGetData(); }); - }; + }, [finishGetData, onSuccess, server, startGetData, t]); + + useEffect(() => { + const { unsubscribe } = eventEmitter.subscribe( + EmitterKey.Refresh_Project_Overview, + getData + ); + return unsubscribe; + }, [projectID, getData]); return { loading,