개발자
이번에 react-query를 처음 사용해 보는데요. 데이터를 키에 캐싱해서 보여준다고 공식문서에 적혀있던데 사용해보면서 느낀건 캐싱되고 있는거 맞는지 의문점이 생깁니다. 가장 큰 이유는 데이터를 계속 불러오기 때문입니다. 캐싱된 데이터를 가지고 어느정도 API요청을 줄이고 효율적으로 사용할 수 있을 줄 알았는데 매번 hook을 실행할 때마다 혹은 데이터와 관련없는 버튼을 누를때도 렌더링 될때마다 API요청이 일어나더라고요. 물론 제가 처음이라 잘 사용하는 방법을 몰라서 그렇기도 한데 이렇게 사용하는 거라면 더 비효율적인것 같아요 ㅜㅜ
답변 2
인기 답변
react-qeury는 가지고 있는 데이터가 항상 최신이라고 생각하지 않아요. 그래서 항상 데이터를 가져오게 됩니다 이를 어느정도 방지하기 위해서 staleTime을 주면 됩니다. 그러면 해당 시간동안은 데이터가 최신이라고 판단하고 이후에는 stale하다고 해서 다시 데이터를 가져오게 됩니다. 공식문서 : The time in milliseconds after data is considered stale. This value only applies to the hook it is defined on. 그래서 결론은 '캐싱하고 있는것은 맞고 데이터를 또 불러오는 동안 캐시된 데이터를 보여주게됩니다. 데이터를 불러오는 건 staleTime을 통해 조절할 수 있다.' 입니다
익명
작성자
2023년 02월 27일
감사합니다 홍재님!!
지금 가입하면 모든 질문의 답변을 볼 수 있어요!
현직자들의 명쾌한 답변을 얻을 수 있어요.
이미 회원이신가요?
지금 가입하면 모든 질문의 답변을 볼 수 있어요!