
useOverlay close 시 컴포넌트가 unmount되도록 처리하기
·
Programming/React
프로젝트 내 모달을 닫을 때 useOverlay로 만든 컴포넌트가 언마운트되지 않아, invalidateQueries가 즉시 실행되는 문제가 있었다. 사용처 코드를 손대지 않고 기존 구조를 유지하면서, close 시점에 overlay를 바로 제거하도록 수정해 원하는 동작(닫을 때 언마운트 → 다시 열릴 때 refetch)을 만들었다. 작업 배경모달을 닫을 때 invalidateQueries를 호출하도록 했다. 의도는 이랬다.모달을 닫으면 쿼리를 stale 상태로 만든다.이후 모달이 다시 열려 컴포넌트가 마운트될 때 자동으로 refetch가 실행된다.하지만 실제 동작은 예상과 달리, 모달을 닫는 순간 refetch가 바로 실행되었다. 문제 원인useOverlay 훅을 디버깅해보니, close를 호출해도..