const { isLoading, data, isError, error, isFetching } = useQuery(
['apple'],
fetchApple,
{
refetchInterval: 2000, // polling - 2초마다 쿼리 실행,
cacheTime: 5000, // cache 메모리에 들어있는 데이터가
가비지 컬렉터에 의해 얼마만에 삭제될 것인가
staleTime: 30000, // 30초 뒤에 stale 상태로 변경
refetchOnMount: true, // 실행되자마자 refetch 를 실행
refetchOnWindowFocus: 'always', // 포커스 되면 refetch 실행
enabled: false, // fetch를 실행하지 않음
onSuccess: 성공했을 때 콜백 함수
onError: 에러 발생했을 때 콜백 함수
select: 데이터 변경(data transformation)
select: data => {
const name = data.data.map(hero => hero.name);
return name;
}
});