트리거
가 있어야만 데이터를 refetch한다component remount
window refocus
running refetch function
automated refetch
query invalidation after a mutation
component remount,window refocus,running refetch function : 해봤는데 안먹거나 이전 정보가 계속 나옴..
prefetch해오기 : 이전에 불러온 데이터를 가져온다면, 미리 가져오면 현재 데이터와 맞잖아!
대신, post list 가 있는 메인 페이지에서 호버를 하면 해당 post를 prefetch해오고, 클릭하면 그 페이지를 열어주는 식으로 코드를 짬. automated refetch나 query invaildation을 통해 refetch 조건을 충족해서 해결한 방안은 아니지만 일단 됨
prefetch해줄 코드 추가
useEffect(() => {
if (currentPage) {
queryClient.prefetchQuery(['roadmapById', currentPage], () =>
getRoadmapById(currentPage),
);
}
}, [currentPage, queryClient])
<Image
src={article.thumbnailUrl}
alt={`${article.title}.img`}
height={160}
width={260}
style={{ cursor: 'pointer' }}
onMouseOver={() => {
setCurrentPage(article.id);
}}
onClick={() => {
currentPage && navigate(`/roadmap/post/${currentPage}`);
}}
/>