From f93d2f224f941079efc9350e5985288581c98c81 Mon Sep 17 00:00:00 2001 From: sinohqb Date: Tue, 4 Aug 2026 13:39:41 +0800 Subject: [PATCH] fix(frontend): auto-fetch report data when campaignId changes MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit useCampaignReport hook 缺少 useEffect 自动触发数据获取,导致打开报告抽屉时 显示空白。添加 useEffect 监听 campaignId 变化,自动调用 refetch。 - 新增 useEffect 在 campaignId 变化时自动获取数据 --- frontend/web/src/hooks/useCampaignReport.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/frontend/web/src/hooks/useCampaignReport.ts b/frontend/web/src/hooks/useCampaignReport.ts index 3d49425..9c7bc55 100644 --- a/frontend/web/src/hooks/useCampaignReport.ts +++ b/frontend/web/src/hooks/useCampaignReport.ts @@ -1,4 +1,4 @@ -import { useState, useCallback, type Dispatch, type SetStateAction } from 'react' +import { useState, useCallback, useEffect, type Dispatch, type SetStateAction } from 'react' import { campaignsApi, runsApi, type CampaignReport, type Run, type CampaignTimelineEntry, type CampaignAnalysis, type CampaignComparison } from '../api' interface CampaignReportData { @@ -59,6 +59,12 @@ export function useCampaignReport(campaignId: string | null): UseCampaignReportR } }, [campaignId]) + useEffect(() => { + if (campaignId) { + void refetch(false) + } + }, [campaignId, refetch]) + const setAnalysis: Dispatch> = (value) => { setData((prev) => ({ ...prev,