API 상태 관리를 위해 리액트 쿼리를 도입한 경험
포트폴리오 프로젝트에서 리액트 쿼리를 처음 사용해 보았습니다. 그 전에는 useEffect 안에 fetch를 직접 사용하고 loading/error 상태를 useState로 하나씩 관리했는데, 화면이 10개가 넘어가면서 비슷한 패턴의 코드가 반복되는 것이 매우 불편했습니다. 리액트 쿼리를 도입하니 캐시 덕분에 같은 API를 여러 컴포넌트에서 호출해도 요청이 중복되지 않았습니다. 처음에는 staleTime과 cacheTime 차이를 몰라서 데이터가 너무 자주 새로 고침되는 문제가 있었는데, 공식 문서를 읽고 3분/5분으로 설정한 후에 해결되었습니다. 이 경험을 통해 비동기 상태 관리를 직접 구현하는 것과 라이브러리를 사용하는 트레이드오프를 느꼈고, 작은 프로젝트라도 코드 반복이 보이기 시작하면 도구 도입을 고민해야 한다는 것을 배웠습니다.