React query를 사용한 fetching에서 에러가 났는데, api 요청이 계속 되었다. 한번 실패하면 isError가 true가 되어서 요청을 멈춰야 한다고 생각했는데, react query의 retry 기능 때문이었다.

React Query는 기본적으로 retry를 3번 한다고 한다.
useQuery({
queryFn: ...,
retry: 3, // ✅ 기본값이 3
});
이 동안 isLoading === true, isError === false인 상태이고, retry가 모두 끝난 뒤에 isError === true도 바뀐다.
재시도와 재시도 간격도 지정할 수 있다.
export function useGraph(schema: any) {
return useQuery({
queryKey: useGraph.getKey(schema),
queryFn: () => getGraphData(schema),
staleTime: 0,
enabled: isValid,
retry: false, // 자동 재시도 끔
retryDelay: 2000, // 2초 간격으로 2번 재시도
});
}
'React' 카테고리의 다른 글
| React의 상태 비교와 setState() (0) | 2025.08.23 |
|---|---|
| useMemo()에서 dependency 배열을 잘못 관리했을 때 발생하는 문제 (0) | 2025.08.20 |
| react-intersection-observer를 활용한 이미지 최적화 (0) | 2025.03.04 |
| React query 적용 구조적 패턴 (0) | 2025.02.24 |
| React portal (0) | 2025.02.11 |