[0809] 트러블: refetch와 로딩

한별·2024년 9월 14일

스파르타 내배캠 TIL

목록 보기
60/63

OOSIE 프로젝트를 하던 중 useQuery 요청을 특정 이벤트가 발생했을때마다 보내는 기능을 구현하고 싶었다. 정확히는, 음색 검색 Input에 값을 바꿀 때마다 음식 검색 api를 호출하고 싶었다.

내가 아는 Tanstack Query의 useQuery는 한번만 요청을 할 수 있었는데.. 그렇다면 useMutation을 사용해야 하는 것인가..?
useMutation은 Get을 제외한 Post, Put, Delete 같은 메서드에 사용하는 것으로 배웠는데..?
이때, 구글링을 통해 refetch라는 것을 알게되었다

useQuery는 refetch 함수도 반환하는데, 이는 최초에 자동적으로 쿼리가 실행되는 것을 막고, refetch 함수를 쓸 때마다 새로 데이터를 가져오게 한다.

refetch 참고 자료


그런데 또 하나의 문제가 더 발생하였다. get 요청을 보낼때마다 로딩을 하고 싶었는데, isLoading이 항상 false 인 것이다..!
이는 isFetching을 통해 해결할 수 있었다.

isFetching 참고 자료

profile
글 잘 쓰고 싶어요

0개의 댓글