인터페이스: QueryCollectionConfig<T, TQueryFn, TError, TQueryKey, TKey, TSchema, TQueryData>
정의 위치: packages/query-db-collection/src/query.ts:100
Query 컬렉션을 생성하기 위한 구성 옵션
상속
BaseCollectionConfig<T,TKey,TSchema>
타입 매개변수
T
T 확장 object = object
컬렉션에 저장되는 항목의 명시적 타입
TQueryFn
TQueryFn 확장 (context) => any = (context) => any
queryFn 타입입니다.
TError
TError = unknown
쿼리 중 발생할 수 있는 오류의 타입입니다.
TQueryKey
TQueryKey extends QueryKey = QueryKey
쿼리 키의 타입입니다.
TKey
TKey extends string | number = string | number
항목 키의 타입입니다.
TSchema
TSchema 확장 StandardSchemaV1 = never
검증을 위한 스키마 타입
TQueryData
TQueryData = Awaited<ReturnType<TQueryFn>>
속성
enabled?
optional enabled: Enabled<TQueryData, TError, TQueryData, TQueryKey>;
정의 위치: packages/query-db-collection/src/query.ts:129
쿼리를 자동으로 실행할지 여부입니다(기본값: true).
gcTime?
optional gcTime: number;
정의 위치: packages/query-db-collection/src/query.ts:164
활성 구독자가 없을 때 컬렉션이 가비지 컬렉션되는 시간(밀리초)입니다. 기본값은 5분(300000ms)입니다.
재정의된 메서드
BaseCollectionConfig.gcTime
initialData?
optional initialData: TQueryData | InitialDataFunction<TQueryData>;
정의 위치: packages/query-db-collection/src/query.ts:204
eager 컬렉션의 TanStack Query 캐시를 초기화하는 데 사용되는 데이터입니다. 이 값은 원래 Query 응답 형태를 가지며, 행이 구체화되기 전에 컬렉션의 select 옵션을 통해 프로젝션됩니다.
initialDataUpdatedAt?
optional initialDataUpdatedAt: number | () => number | undefined;
정의 위치: packages/query-db-collection/src/query.ts:212
TanStack Query가 initialData의 최신 상태를 판단하는 데 사용하는 타임스탬프입니다.
meta?
optional meta: Record<string, unknown>;
정의 위치: packages/query-db-collection/src/query.ts:241
쿼리에 전달할 메타데이터입니다. queryFn에서 context.meta를 통해 사용할 수 있습니다.
예제
// Using meta for error context
queryFn: async (context) => {
try {
return await api.getTodos(userId)
} catch (error) {
// Use meta for better error messages
throw new Error(
context.meta?.errorMessage || 'Failed to load todos'
)
}
},
meta: {
errorMessage: `Failed to load todos for user ${userId}`
}
networkMode?
optional networkMode: NetworkMode;
정의 위치: packages/query-db-collection/src/query.ts:192
persistedGcTime?
optional persistedGcTime: number;
정의 위치: packages/query-db-collection/src/query.ts:219
queryClient
queryClient: QueryClient;
정의 위치: packages/query-db-collection/src/query.ts:125
TanStack Query 클라이언트 인스턴스입니다.
queryFn
queryFn: TQueryFn extends (context) => any[] | Promise<any[]> ? (context) => T[] | Promise<T[]> : TQueryFn;
정의 위치: packages/query-db-collection/src/query.ts:114
서버에서 데이터를 가져오는 함수입니다. 전체 컬렉션 상태를 반환해야 합니다
queryKey
queryKey: TQueryKey | TQueryKeyBuilder<TQueryKey>;
정의 위치: packages/query-db-collection/src/query.ts:112
TanStack Query가 이 쿼리를 식별하는 데 사용하는 쿼리 키입니다
refetchInterval?
optional refetchInterval: number | false | (query) => number | false | undefined;
정의 위치: packages/query-db-collection/src/query.ts:136
refetchOnMount?
optional refetchOnMount: boolean | "always" | (query) => boolean | "always";
정의 위치: packages/query-db-collection/src/query.ts:185
refetchOnReconnect?
optional refetchOnReconnect: boolean | "always" | (query) => boolean | "always";
정의 위치: packages/query-db-collection/src/query.ts:178
refetchOnWindowFocus?
optional refetchOnWindowFocus: boolean | "always" | (query) => boolean | "always";
정의 위치: packages/query-db-collection/src/query.ts:171
retry?
optional retry: RetryValue<TError>;
정의 위치: packages/query-db-collection/src/query.ts:143
retryDelay?
optional retryDelay: RetryDelayValue<TError>;
정의 위치: packages/query-db-collection/src/query.ts:150
select()?
optional select: (data) => T[];
정의 위치: packages/query-db-collection/src/query.ts:123
Query 응답에서 TanStack DB가 구체화하는 행 배열을 추출합니다. Query 캐시는 원래 응답 형태를 유지합니다.
매개변수
data
TQueryData
반환값
T[]
staleTime?
optional staleTime: StaleTimeFunction<TQueryData, TError, TQueryData, TQueryKey>;