본문으로 건너뛰기

TanStack Query v5로 마이그레이션하기

Vue Query 주요 변경 사항​

useQueries 컴포저블은 reactive 대신 ref를 반환합니다​

Vue 2와의 호환성을 수정하기 위해 이제 useQueries composable은 ref로 감싼 queries 배열을 반환합니다. 이전에는 reactive가 반환되어 여러 문제가 발생했습니다:

  • 사용자가 반환 값을 펼치면 반응성을 잃을 수 있습니다.
  • 반환 값에 사용된 readonly 래퍼가 Vue 2의 반응성 감지 메커니즘을 손상시키고 있었습니다. 이는 Vue 2.6에서는 드러나지 않는 문제였지만, Vue 2.7에서는 오류로 나타났습니다.
  • Vue 2는 reactive의 루트 값으로 배열을 지원하지 않습니다.

이 변경으로 이러한 문제가 모두 해결됩니다.

또한 이렇게 하면 useQueries가 모든 값을 refs로 반환하는 다른 컴포저블과 일관되게 동작합니다.

이제 Vue v3.3이 필요합니다​

Vue 릴리스에 맞춰 새로운 기능을 제공할 수 있도록 이제 Vue 3이 최소 v3.3 버전이어야 합니다. Vue 2.x의 요구 사항은 변경되지 않았습니다.

injectionContext에서 vue-query 컴포저블을 실행하는 기능​

이전에는 vue-query composable을 컴포넌트의 setup 함수 내에서만 실행할 수 있었습니다.
사용자가 composable 옵션으로 queryClient를 제공하면 해당 훅을 어디서든 실행할 수 있도록 하는 탈출구가 마련되어 있었습니다.

이제 injectionContext를 지원하는 모든 함수에서 vue-query composable을 사용할 수 있습니다. 예: router 탐색 가드. 이 새로운 기능을 사용할 때는 vue-query composable이 effectScope 내에서 실행 중인지 확인해야 합니다. 그렇지 않으면 메모리 누수가 발생할 수 있습니다. 잠재적인 오용을 사용자에게 알리기 위해 dev-only 경고를 추가했습니다.