|
31 | 31 | # or |
32 | 32 | $ yarn add @tanstack/react-query-devtools |
33 | 33 | ``` |
| 34 | +- import 시, 다음과 같이 패키지명을 수정하면 된다. |
34 | 35 |
|
35 | | -```js |
36 | | -// v3 |
37 | | -import { useQuery } from "react-query"; // (-) |
38 | | -import { ReactQueryDevtools } from "react-query/devtools"; // (-) |
| 36 | + ```diff |
| 37 | + // v3 |
| 38 | + - import { useQuery } from "react-query"; |
| 39 | + - import { ReactQueryDevtools } from "react-query/devtools"; |
39 | 40 |
|
40 | | -// v4 |
41 | | -import { useQuery } from "@tanstack/react-query"; // (+) |
42 | | -import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; // (+) |
43 | | -``` |
| 41 | + // v4 |
| 42 | + + import { useQuery } from "@tanstack/react-query"; |
| 43 | + + import { ReactQueryDevtools } from "@tanstack/react-query-devtools"; |
| 44 | + ``` |
44 | 45 |
|
45 | 46 | <br /> |
46 | 47 |
|
47 | 48 | ### 쿼리 키는 배열로 통일 |
48 | 49 |
|
49 | 50 | - v3에서는 queryKey를 문자열 또는 배열로 지정할 수 있었다. 문자열과 배열 모두 사용할 수 있었는데 사실 React Query는 내부적으로는 항상 Array Keys로만 작동했었다. 그리고 이를 v4에서는 배열로 통일시킨다. |
50 | 51 |
|
51 | | -```js |
| 52 | +```diff |
52 | 53 | // v3 |
53 | | -useQuery("todos", fetchTodos); // (-) |
| 54 | +- useQuery("todos", fetchTodos); |
54 | 55 |
|
55 | 56 | // v4 |
56 | | -useQuery(["todos"], fetchTodos); // (+) |
| 57 | ++ useQuery(["todos"], fetchTodos); |
57 | 58 | ``` |
58 | 59 |
|
59 | 60 | <br /> |
60 | 61 |
|
61 | 62 | ### status idle 상태 제거 |
62 | 63 |
|
63 | | -- v4부터 더 나은 오프라인 지원을위한 fetchStatus가 도입되면서 기존의 `idle`가 무의미해 졌습니다. |
| 64 | +- v4부터 더 나은 오프라인 지원을 위한 `fetchStatus`가 도입되면서 기존의 `idle`이 무의미해졌습니다. |
64 | 65 |
|
65 | | -```js |
66 | | -status: "idle"; // (-) |
| 66 | +```diff |
| 67 | +// v3 |
| 68 | +- status: "idle"; |
67 | 69 |
|
68 | | -status: "loading"; // (+) |
69 | | -fetchStatus: "idle"; // (+) |
| 70 | +// v4 |
| 71 | ++ status: "loading"; |
| 72 | ++ fetchStatus: "idle"; |
70 | 73 | ``` |
71 | 74 |
|
72 | 75 | <br /> |
73 | 76 |
|
74 | | -### fetchStatus가 추가 |
| 77 | +### fetchStatus가 추가 됨 |
75 | 78 |
|
76 | 79 | - [FetchStatus](https://tanstack.com/query/v4/docs/guides/queries#why-two-different-states) |
77 | 80 | - TanStack Query(v4) 새로운 상태값인 `fetchStatus`가 추가됐다. |
@@ -157,9 +160,12 @@ inactive?: boolean |
157 | 160 | - 예를 들어 위와 같은 `active`, `inactive` 두 옵션은 서로 `상호 배타적`이다. 이 둘 모두를 false으로 설정한다면? 이는 말이 되지 않는다. |
158 | 161 | - v4부터는 이를 type이라는 속성으로 통일시켜서 의도를 더 잘 보여줄 수 있게 됐다. |
159 | 162 |
|
160 | | -``` |
| 163 | +```diff |
| 164 | +// v3 |
161 | 165 | - active?: boolean |
162 | 166 | - inactive?: boolean |
| 167 | +
|
| 168 | +// v4 |
163 | 169 | + type?: 'active' | 'inactive' | 'all' |
164 | 170 | ``` |
165 | 171 |
|
@@ -189,6 +195,6 @@ await queryClient.refetchQueries({ queryKey: ['posts'], type: 'active' }) |
189 | 195 |
|
190 | 196 | ### 타입스크립트 |
191 | 197 |
|
192 | | -- v4는 TypeScript `v4.1` 이상을 요구한다. |
| 198 | +- [v4는 TypeScript `v4.1` 이상을 요구한다.](https://tanstack.com/query/v4/docs/react/guides/migrating-to-react-query-4#typescript) |
193 | 199 |
|
194 | 200 | <br /> |
0 commit comments