본문으로 건너뛰기

인터페이스: 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>;

정의 위치: packages/query-db-collection/src/query.ts:157