FE_Dev / api-client /query-config.ts
GitHub Actions
Deploy from GitHub Actions [dev] - 2025-10-31 07:28:50
68f7925
import type { UseQueryOptions } from '@tanstack/react-query';
/**
* React Query共通設定
* 全APIクライアントで使用する共通のクエリオプション
*/
export const defaultQueryOptions: Partial<UseQueryOptions> = {
// ウィンドウフォーカス時の再フェッチを無効化
refetchOnWindowFocus: false,
// コンポーネント再マウント時の再フェッチを無効化
refetchOnMount: false,
// データが古くならない期間(無期限)
staleTime: Infinity,
// ガベージコレクション時間(24時間)
gcTime: 24 * 60 * 60 * 1000,
retry: 0,
// エラー時のリトライ遅延
retryDelay: (attemptIndex) => Math.min(1000 * 2 ** attemptIndex, 30000),
};
/**
* 特定のクエリ用のオプションを作成するヘルパー関数
* @param overrides 上書きしたいオプション
* @returns マージされたクエリオプション
*/
export function createQueryOptions<T = unknown>(overrides?: Partial<UseQueryOptions<T>>): Partial<UseQueryOptions<T>> {
return { ...defaultQueryOptions, ...overrides } as Partial<UseQueryOptions<T>>;
}