diff --git a/frontend/src/hooks/useSiteInspectionSSE.ts b/frontend/src/hooks/useSiteInspectionSSE.ts index d09b6f6..47c2e61 100644 --- a/frontend/src/hooks/useSiteInspectionSSE.ts +++ b/frontend/src/hooks/useSiteInspectionSSE.ts @@ -2,6 +2,7 @@ import { useEffect, useRef } from "react"; import { useRouter } from "next/navigation"; +import { useQueryClient } from "@tanstack/react-query"; import { useSiteInspectionStore } from "@/stores/useSiteInspectionStore"; import { api } from "@/lib/api"; import type { @@ -29,6 +30,7 @@ export function useSiteInspectionSSE(siteInspectionId: string | null) { setError, } = useSiteInspectionStore(); const router = useRouter(); + const queryClient = useQueryClient(); const eventSourceRef = useRef(null); useEffect(() => { @@ -94,7 +96,10 @@ export function useSiteInspectionSSE(siteInspectionId: string | null) { const data: SSESiteComplete = JSON.parse(e.data); setCompleted(data.aggregate_scores); eventSource.close(); - // 결과 페이지로 자동 이동 + // stale 캐시 제거 → 결과 페이지에서 fresh 데이터 로드 + queryClient.removeQueries({ + queryKey: ["siteInspection", siteInspectionId], + }); router.push(`/site-inspections/${siteInspectionId}`); } catch { // JSON 파싱 실패 무시 @@ -138,5 +143,6 @@ export function useSiteInspectionSSE(siteInspectionId: string | null) { setCompleted, setError, router, + queryClient, ]); }