지한솔
안녕하세요, React Query를 활용한 프로젝트에서 캐싱 전략에 대해 고민할 일이 생겨 이렇게 Discussions를 남깁니다. (요즘 실무에서 apolloClient를 쓰고 있긴 하지만..)
MVP를 빠르게 만들 때는 단순히 refetchQuery로 모든 걸 다시 불러오는 방식이 직관적이고 편한 경우가 많습니다.
하지만 Product Engineer 관점에서 보면, 사용자 경험이나 성능, 네트워크 사용량까지 고려해야 하니 단순히 다시 불러오는 방식이 늘 최선은 아니라는 생각은 매번 있습니다.
보통 데이터 변경 이후 기존 쿼리를 새로 가져올 때 아래와 같은 선택지가 있잖아요.
queryClient.invalidateQueries()
queryClient.refetchQueries()
queryClient.setQueryData() + 옵티미스틱 업데이트
refetchQueries가 더 편하고 직관적인것 같은데..invalidateQueries가 더 일관되게 관리되는 느낌도 있습니다.여러분들은,