**queryKey
**는 React Query에서 중요한 개념이다. 내부적으로 데이터를 캐시하고 쿼리에 대한 종속성이 변경될 때 자동으로 다시 가져올 수 있게 한다. 그리고 필요한 시점에 **queryKey
**를 통해 query cache와 상호작용이 가능하다.
내부에서 query cache는 **queryKey
**가 직렬화되어 있고, **queryKey
**는 해쉬 되어 관리된다.
Query Keys | TanStack Query Docs
Query Keys are hashed deterministically!
This means that no matter the order of keys in objects, all of the following queries are considered equal:
useQuery(['todos', { status, page }], ...)
useQuery(['todos', { page, status }], ...)
useQuery(['todos', { page, status, other: undefined }], ...)
The following query keys, however, are not equal. Array item order matters! ⇒ 쿼리 키의 순서 중요!
seQuery(['todos', status, page], ...)
useQuery(['todos', page, status], ...)
useQuery(['todos', undefined, page, status], ...)