**queryKey**는 React Query에서 중요한 개념이다. 내부적으로 데이터를 캐시하고 쿼리에 대한 종속성이 변경될 때 자동으로 다시 가져올 수 있게 한다. 그리고 필요한 시점에 **queryKey**를 통해 query cache와 상호작용이 가능하다.

Cashing Data

내부에서 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], ...)