Refactor/216/프로필수정모달개선 by LMS10 · Pull Request #220 · kss761036/Epigram

1. 문제는 언제나 흐름의 단절에서 시작된다

모달은 그 자체로도 강력한 UI 요소지만, 열림과 닫힘의 흐름이 자연스럽지 않으면 사용자 경험에 불편을 유발한다.

또한, 개발자 입장에서도 리렌더링 되지 않거나 예측하지 못한 상태 유지로 인한 사이드 이펙트는 디버깅과 유지보수를 어렵게 만든다.

기존 구조에서는 다음과 같은 문제가 존재했다.

isProfileModalOpen 상태의 리렌더링 문제


2. 어떻게 해결했는가?

1. 명령형 모달 + 전역 상태 관리로 흐름을 명확하게

모달 제어 방식을 useModalStore라는 전역 상태 훅으로 통합하고, 명령형으로 동작하도록 리팩토링하였다.

open('ProfileEdit', { userId: '123' });
close();

→ 사이드 이펙트를 방지하고, 재사용성과 예측 가능성을 확보