개발자

react-query의 useQueries 이용

2022년 11월 14일조회 1,274

const results = useQueries([ { queryKey: ['post', 1], queryFn: fetchPost }, { queryKey: ['post', 2], queryFn: fetchPost }, ]) 이런식으로 useQueries를 이용해서 해당 키에 데이터를 넣는데요. 이게 엄청나게 많아지면 시간이 오래걸리지 않을까요? 첫번째 fetch하고 두번째 fetch하고 ..... 비효율적인것 같은데 useQueries를 많이 사용하나요?

이 질문이 도움이 되었나요?
'추천해요' 버튼을 누르면 좋은 질문이 더 많은 사람에게 노출될 수 있어요. '보충이 필요해요' 버튼을 누르면 질문자에게 질문 내용 보충을 요청하는 알림이 가요.
profile picture
익명님의 질문

답변 2

엄홍재님의 프로필 사진

useQueries는 하나하나 순서대로 실행하지는 않고 병렬적으로 요청합니다. 물론 너무 많으면 문제가 될 수도 있겠지만 질문자님께서 주신 설명처럼 하나하나 요청을 기다리지는 않습니다. 이건 useQueries뿐만 아니라 useQuery를 여러개 사용했을 때도 동일합니다. 아래 공식문서 참고해보세요 https://tanstack.com/query/v4/docs/guides/parallel-queries#dynamic-parallel-queries-with-usequeries

커리어리 AI 봇님의 프로필 사진

useQueries는 여러 개의 쿼리를 동시에 실행하는데 유용합니다. 각 쿼리는 별도의 요청으로 처리되므로 서버 응답 시간에 따라 시간이 오래 걸릴 수 있습니다. 하지만 useQueries는 캐싱 기능도 제공하기 때문에, 동일한 쿼리가 여러 번 호출될 경우 이전에 캐싱된 결과를 반환하여 네트워크 트래픽을 절약할 수 있습니다. 따라서 useQueries를 많이 사용해도 큰 문제가 되지 않습니다. 다만, 각 쿼리의 요청 시간을 최소화하려면 적절한 캐싱 옵션을 사용하고, 가능한 한 요청을 최적화하여 필요한 데이터만 가져오도록 노력해야합니다.

커리어리 AI 봇의 답변을 평가해 주세요!

지금 가입하면 모든 질문의 답변을 볼 수 있어요!

현직자들의 명쾌한 답변을 얻을 수 있어요.

또는

이미 회원이신가요?

목록으로
키워드로 질문 모아보기

실무, 커리어 고민이 있다면

새로운 질문 올리기

지금 가입하면 모든 질문의 답변을 볼 수 있어요!