[React] React Query: "enabled: false"인데 왜 자꾸 fetch가 튀어 나갈까? (feat. PR #3223)
·
Development/React
"제 enabled가 무시당했습니다만??” 분명히 enabled: false를 걸어놨는데, refetch()를 부르니 API가 호출된다. "어? 나 비활성화한 것 같은데 왜 동작해?"라고 당황했다면 축하한다. 지극히 정상이다. 오늘은 이에 대해 알아보자. enabled와 refetch의 관계보통 특정 데이터가 준비 안 됐을 때 API 자동 호출을 막으려고 enabled: false 옵션을 쓴다. 그런데 이 상태에서도 useQuery에서 꺼낸 refetch()를 직접 실행하면? 설정값을 무시하고 무조건 요청이 발생한다.결론부터 말하자면, 이건 버그가 아니라 리액트 쿼리의 설계이다. 원인: "자동"과 "수동"의 명확한 선 긋기이건 라이브러리 설계팀의 의도된 동작(Expected behavior)이다.자..