From a83907fc05d75ec4f671da0687551b0bcd5c5036 Mon Sep 17 00:00:00 2001 From: zhx Date: Fri, 3 Jul 2026 21:03:28 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BC=98=E5=8C=96=E9=93=BE=E8=B7=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- databi/src/social/useSocialBiData.js | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/databi/src/social/useSocialBiData.js b/databi/src/social/useSocialBiData.js index 036df7d..a4aaf40 100644 --- a/databi/src/social/useSocialBiData.js +++ b/databi/src/social/useSocialBiData.js @@ -10,6 +10,8 @@ export const SOCIAL_BI_TZ = DEFAULT_TIME_ZONE; export function useSocialBiData(filters) { const [master, setMaster] = useState(null); + // 数据请求等 master 结果落地后再发:否则会先用兜底 App 列表打一轮,master 到达后立刻重打一轮(整轮浪费)。 + const [isMasterSettled, setIsMasterSettled] = useState(false); const [overview, setOverview] = useState(null); const [kpi, setKpi] = useState(null); const [isLoading, setIsLoading] = useState(true); @@ -29,6 +31,11 @@ export function useSocialBiData(filters) { if (!ignore) { setMaster(null); } + }) + .finally(() => { + if (!ignore) { + setIsMasterSettled(true); + } }); return () => { ignore = true; @@ -50,6 +57,9 @@ export function useSocialBiData(filters) { }, [filters.apps, master]); useEffect(() => { + if (!isMasterSettled) { + return; + } const sequence = ++requestSeq.current; const startMs = rangeStartMs(range, SOCIAL_BI_TZ); const endMs = rangeEndMs(range, SOCIAL_BI_TZ); @@ -85,7 +95,7 @@ export function useSocialBiData(filters) { setErrors(nextErrors); setIsLoading(false); }); - }, [appCodes, range, refreshToken]); + }, [appCodes, isMasterSettled, range, refreshToken]); const refresh = useCallback(() => { setRefreshToken((current) => current + 1);