필터
TanStack Query 내 일부 메서드는 QueryFilters 또는 MutationFilters 객체를 허용합니다.
Query Filters
쿼리 필터는 쿼리와 일치시키기 위한 특정 조건을 포함하는 객체입니다:
// Cancel all queries
await queryClient.cancelQueries()
// Remove all inactive queries that begin with `posts` in the key
queryClient.removeQueries({ queryKey: ['posts'], type: 'inactive' })
// Refetch all active queries
await queryClient.refetchQueries({ type: 'active' })
// Refetch all active queries that begin with `posts` in the key
await queryClient.refetchQueries({ queryKey: ['posts'], type: 'active' })
쿼리 필터 객체는 다음 속성을 지원합니다:
queryKey?: QueryKey- 일치시킬 쿼리 키를 정의하려면 이 속성을 설정합니다.
exact?: boolean- 쿼리 키를 기준으로 쿼리를 포괄적으로 검색하지 않으려면
exact: true옵션을 전달하여 지정한 쿼리 키와 정확히 일치하는 쿼리만 반환할 수 있습니다.
- 쿼리 키를 기준으로 쿼리를 포괄적으로 검색하지 않으려면
type?: 'active' | 'inactive' | 'all'- 기본값은
all입니다 active로 설정하면 활성 쿼리와 일치합니다.inactive로 설정하면 비활성 쿼리와 일치합니다.
- 기본값은
stale?: booleantrue로 설정하면 stale 상태인 쿼리와 일치합니다.false로 설정하면 fresh 상태인 쿼리와 일치합니다.
fetchStatus?: FetchStatusfetching으로 설정하면 현재 가져오는 중인 쿼리와 일치합니다.paused로 설정하면 가져오기를 시도했지만paused된 쿼리와 일치합니다.idle로 설정하면 가져오는 중이 아닌 쿼리와 일치합니다.
predicate?: (query: Query) => boolean- 이 조건자 함수는 일치하는 모든 쿼리에 대한 최종 필터로 사용됩니다. 다른 필터를 지정하지 않으면 캐시의 모든 쿼리를 대상으로 이 함수를 평가합니다.
Mutation Filters
뮤테이션 필터는 뮤테이션과 일치시키기 위한 특정 조건을 가진 객체입니다:
// Get the number of all fetching mutations
await queryClient.isMutating()
// Filter mutations by mutationKey
await queryClient.isMutating({ mutationKey: ['post'] })
// Filter mutations using a predicate function
await queryClient.isMutating({
predicate: (mutation) => mutation.state.variables?.id === 1,
})
뮤테이션 필터 객체는 다음 속성을 지원합니다:
mutationKey?: MutationKey- 일치시킬 뮤테이션 키를 정의하려면 이 속성을 설정합니다.
exact?: boolean- 뮤테이션 키를 기준으로 뮤테이션을 포괄적으로 검색하지 않으려면
exact: true옵션을 전달하여 전달한 뮤테이션 키와 정확히 일치하는 뮤테이션만 반환할 수 있습니다.
- 뮤테이션 키를 기준으로 뮤테이션을 포괄적으로 검색하지 않으려면
status?: MutationStatus- 상태에 따라 뮤테이션을 필터링할 수 있습니다.
predicate?: (mutation: Mutation) => boolean- 이 predicate 함수는 일치하는 모든 뮤테이션에 대한 최종 필터로 사용됩니다. 다른 필터를 지정하지 않으면 캐시의 모든 뮤테이션을 대상으로 이 함수를 평가합니다.
유틸리티
matchQuery
const isMatching = matchQuery(filters, query)
쿼리가 제공된 쿼리 필터 집합과 일치하는지를 나타내는 boolean을 반환합니다.
matchMutation
const isMatching = matchMutation(filters, mutation)
뮤테이션이 제공된 뮤테이션 필터 집합과 일치하는지를 나타내는 boolean을 반환합니다.