2023. 5. 6. 16:38

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;

  }

    

  });