"use client"; import { QueryClient, QueryClientProvider } from "@tanstack/react-query"; import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; import { useState } from "react"; interface QueryProviderProps { children: React.ReactNode; } export function QueryProvider({ children }: QueryProviderProps) { const [queryClient] = useState( () => new QueryClient({ defaultOptions: { queries: { // 5분간 캐시 유지 staleTime: 1000 * 60 * 5, // 30분간 가비지 컬렉션 방지 gcTime: 1000 * 60 * 30, // 에러 시 재시도 1번만 retry: 1, // 윈도우 포커스 시 자동 리페칭 비활성화 refetchOnWindowFocus: false, }, mutations: { // 뮤테이션 에러 시 재시도 안함 retry: false, }, }, }), ); return ( {children} {/* 개발 환경에서만 DevTools 표시 */} {process.env.NODE_ENV === "development" && } ); }