본문으로 건너뛰기

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 경고를 추가했습니다.