Skip to content

Commit ac7d607

Browse files
committed
feat: main readme useQueries 차이점 예제 추가
1 parent d8eb0e5 commit ac7d607

1 file changed

Lines changed: 36 additions & 0 deletions

File tree

README.md

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -652,17 +652,53 @@ const { data: friends } = useQuery(["friends"], fetchFriends);
652652
- 이러한 특징은 쿼리 처리의 `동시성`을 극대화 시킨다.
653653
654654
```jsx
655+
// v3
655656
const queryResults = useQueries(
656657
heroIds.map((id) => ({
657658
queryKey: ["super-hero", id],
658659
queryFn: () => fetchSuperHero(id),
659660
}))
660661
);
662+
/*
663+
const queryResults = useQueries(
664+
{
665+
queryKey: ['super-hero', 1],
666+
queryFn: () => fetchSuperHero(1)
667+
},
668+
{
669+
queryKey: ['super-hero', 2],
670+
queryFn: () => fetchSuperHero(2)
671+
},
672+
// ...
673+
);
674+
*/
661675
```
662676
663677
- 하지만, 쿼리 여러 개를 동시에 수행해야 하는데, 렌더링이 거듭되는 사이사이에 계속 쿼리가 수행되어야 한다면 쿼리를 수행하는 로직이 hook 규칙에 어긋날 수도 있다. 이럴 때는 `useQueries`를 사용한다.
664678
665679
<br />
680+
681+
- useQueries가 v4부터 쿼리를 넘기는 방식이 변경됐다. 차이점으로는 queries프로퍼티를 가진 객체를 넘겨줘야 한다.
682+
683+
```jsx
684+
// v4
685+
const queryResults = useQueries({
686+
queries: [
687+
{
688+
queryKey: ["super-hero", 1],
689+
queryFn: () => fetchSuperHero(1),
690+
staleTime: Infinity, // 다음과 같이 option 추가 가능
691+
},
692+
{
693+
queryKey: ["super-hero", 2],
694+
queryFn: () => fetchSuperHero(2),
695+
staleTime: 0,
696+
},
697+
// ...
698+
],
699+
});
700+
```
701+
666702
<br />
667703
668704
## Dependent Queries

0 commit comments

Comments
 (0)