[vue-query] query key 관련 공식문서 정리

2025. 2. 17.·🎨 프론트엔드 공부/기타

📍Query Key의 형태

- 직렬화가 가능한 값들의 배열이어야 함

- 직렬화가 가능하다 => json.stringify()를 적용할 수 있고, 적용하면 항상 동일한 문자열로 변환된다

// 일반적인 배열
const userQueryKey = ["user", 1];
// JSON.stringify(usersQueryKey) // '["user",1]'

// 객체
const postQueryKey = ["user", { id: 42 }];
// JSON.stringify(postQueryKey) // '["post",{"id":42}]'

// An individual todo
useQuery({ queryKey: ['todo', 5], ... })

// An individual todo in a "preview" format
useQuery({ queryKey: ['todo', 5, { preview: true }], ...})

// A list of todos that are "done"
useQuery({ queryKey: ['todos', { type: 'done' }], ... })

 

 

📍Query Key 배열의 순서

- 배열의 순서는 중요하고, 배열 원소의 객체 내 프로퍼티 순서는 중요하지 않다!

- 아래는 객체 내부에서만 변화가 있으므로 모두 같은 쿼리로 인식된다

useQuery({ queryKey: ['todos', { status, page }], ... })
useQuery({ queryKey: ['todos', { page, status }], ...})
useQuery({ queryKey: ['todos', { page, status, other: undefined }], ... })

 

- 반면, 아래는 배열에서 순서가 다르므로 다른 쿼리로 인식된다

useQuery({ queryKey: ['todos', status, page], ... })
useQuery({ queryKey: ['todos', page, status], ...})
useQuery({ queryKey: ['todos', undefined, page, status], ...})

 

- 이는 쿼리 키 배열이 결국 hash되기 때문이다

 

📍인사이트

- 쿼리 키 배열에 다양한 값을 넣는 경우, 객체로 표기해도 좋을 것 같다 (객체 내에서 순서가 달라져도 괜찮아서)

 

📍링크

https://tanstack.com/query/latest/docs/framework/vue/guides/query-keys#simple-query-keys

 

 

'🎨 프론트엔드 공부/기타' 카테고리의 다른 글
  • [SEO] robots.txt 파일 알아보기
  • React Hook Form (1) Get Started
  • 시맨틱 버저닝(semantic versioning) 과 NPM
  • npm workspace로 모노레포 구축하기
지식물원
지식물원
지식이 자라는 식물원!
  • 지식물원
    지식물원
    지식물원
  • 전체
    오늘
    어제
    • 분류 전체보기 (516)
      • 🎨 프론트엔드 공부 (253)
        • JS & TS (92)
        • HTML & CSS (22)
        • React & Next (49)
        • Vue & Nuxt (22)
        • 기타 (68)
      • 🤓 기술 학습 & 공부 기록 (116)
        • Node.js (0)
        • Python (37)
        • 백엔드 (0)
        • 딥러닝 (1)
        • 컴퓨터 일반 (72)
        • 개발 인프라 (6)
      • 👨‍💻 프로젝트 경험 (6)
        • Work (0)
        • Toy (6)
      • ⚙️ 개발 팁 & 노하우 (21)
        • 프론트엔드 (6)
        • 기타 (15)
      • ☕️ 커리어 & 인터뷰 준비 (88)
        • 코딩 테스트 (88)
      • 📰 기술 트렌드 & 생각 정리 (4)
      • 📚 기타 (25)
        • 마케팅 (15)
        • 비개발서적 (10)
  • 블로그 메뉴

    • 태그
  • 링크

  • 공지사항

    • 모바일 접속 시 코드 하이라이팅 깨질 때
  • 인기 글

  • hELLO· Designed By정상우.v4.10.3
지식물원
[vue-query] query key 관련 공식문서 정리
상단으로

티스토리툴바