StaleTime
왜 데이터는 만료된 상태(stale Time)으로 자동으로 변경될 것인가?
만료된 데이터?
오래된 식빵과 같다.
react-query에서 데이터가 만료됬다는 뜻은 무엇일까??
- 데이터 리페칭(refetching)은 만료된 데이터(staleTime)에서만 실행된다. (혹은 컴포넌트가 다시 마운트 되거나, 윈도우 포커스 되었을때도 일어난다)
- staleTime data는 데이터를 허용하는 ‘최대 나이'이다.
- 혹은 데이터가 만료될때까지 얼마나 남았는지 허용하는 시간이다.
- ex) 웹사이트에 표시된 데이터가 10초까지는 그대로여도 괜찮다면 stale-Time을 10초로 설정한다. (블로그 게시물의 경우 10초까지는 오래된 데이터를 허용 한다.)
- 데이터의 성격에따라 stale-Time의 기간을 늘려주거나 줄인다.
- 데이터가 만료되지 않은 상태 ( fresh상태) 일때는 리페칭 되지 않는다.
const {data, isLoading, isError, error} = useQuery("posts", fetchPosts, {staleTime : 2000});
블로그의 게시물이 2초마다 만료되도록 설정
2초동안은 fresh한 상태이다.