← 전체 글로 돌아가기

Next.js

React 모달이 예상과 다르게 동작할 때

모달 컴포넌트가 열고 닫기가 제대로 안 될 때 문제를 찾는 방법.

모달 문제는 대부분 상태 관리에서 나온다. 검색해서 들어온 상황이라면 재현 조건부터 명확히 하자.

화면만 봐서는 원인을 모를 수 있다. 브라우저 DevTools에서 상태도 함께 봐야 한다.

사용자가 보는 모습

모달이 열려야 할 때 안 열리는가? 닫혀야 할 때 안 닫히는가? 아니면 둘 다인가?

개발자가 보는 신호

React DevTools에서 모달 컴포넌트의 상태를 확인하자. isOpen, isVisible 같은 상태 값이 정말 바뀌고 있는가?

  • 모달을 여는 버튼 클릭 시 상태 변화
  • 닫기 버튼 클릭 시 상태 변화
  • 정상 상태의 값이 뭔가

이벤트 흐름 확인

npm run build
# 브라우저 콘솔에서 onClick 이벤트가 정상 실행되는지 확인

버튼 클릭이 정상적으로 전달되고 있는가? 이벤트 핸들러가 제때 실행되는가?

환경 차이 확인

로컬에서는 잘 작동하는데 배포 후 문제가 생긴다면, 번들 크기나 상태 관리 라이브러리의 버전을 확인해보자.

수정 전 고정할 값

모달 상태를 변경하기 전에, 지금 이 모달이 정확히 어떤 상태인지 로그로 남기자.

같은 문제를 또 겪지 않으려면, 지금 이 모달의 상태 변화를 문서화해두는 게 좋다.