삭제했는데 목록이 그대로 남아 있던 문제
ReactTanStack QueryRefineCache
01이슈 및 현상
기지국 그룹을 삭제하면 성공 토스트는 뜨는데 목록에서 사라지지 않았습니다. 새로고침하면 정상 반영되니, 서버 삭제는 되고 화면 갱신만 안 되는 상황이었습니다.
02원인 파악
invalidateQueries에 쿼리 키를 4요소 문자열 배열로 하드코딩했는데, Refine의 useList가 만드는 실제 키에는 페이지네이션·필터·정렬 파라미터가 함께 들어갑니다. 손으로 적은 키는 어떤 캐시 엔트리와도 정확히 일치하지 않아, 무효화가 에러 없이 조용히 실패했습니다.
03해결 방안
우선 캐시에서 실제 등록된 키를 조회(getQueryCache().findAll())해 매칭하도록 바꾼 뒤, 근본적으로는 공통 훅 useInvalidateQuery와 키 팩토리 queryKeys를 만들어 키 생성과 무효화를 단일 출처로 모았습니다.
04결과 및 성과
삭제·수정 후 목록이 즉시 갱신되도록 정상화됐습니다. 키를 손으로 적어 프레임워크 규칙과 어긋날 위험을 구조적으로 제거해, 이후 캐시 무효화 버그의 재발 여지를 없앴습니다.