FrontEngineer JungBam
Prefetch 본문
패칭이 되는동안 로딩화면을 띄우길 원하지 않을 경우 사용하는 방법 : 미리 페이지를 패칭해서 캐싱 + 이전 페이지를 캐싱
1. 페이지네이션에서 미리 페이지를 패칭해서 캐싱하는 방법
: 다음 페이지를 패칭해서 캐싱한다.
const queryClient = useQueryClient()
useEffect(() => {
if(currentPage < maxPostPage){
const nextPage = currentPage+1
queryClient.prefetchQuery(['posts', nextPage], ()=>fetchPosts(nextPage))
} }, [currentPage,queryClient])
2. 이전 페이지를 캐싱하는 방법
: useQuery의 옵션 중 keepPreviousData를 true로 주어 활성화시킨다.
const {data, isError,error, isLoading}=useQuery(['posts',currentPage],()=>fetchPosts(currentPage), {staleTime:2000, keepPreviousData:true})
반응형
'react-query' 카테고리의 다른 글
갑자기 disabled? (0) | 2023.04.27 |
---|---|
redux, redux-toolkit, react-query (0) | 2023.03.03 |
react-query로 프로젝트를 하고 느낀점(장점) (0) | 2023.02.11 |
쿼리키 / 리액트 쿼리에서의 캐싱이란? (0) | 2023.01.02 |
리액트 쿼리 버전 4에서 바뀐점. (0) | 2022.12.31 |
Comments