usePortal (Modal, Alert, Dialog, Toast 컴포넌트를 위한 커스텀 훅) 설계 과정
1. 문제 인식기존에는 모달, 토스트, 알림, 다이얼로그와 같은 다양한 UI 컴포넌트들이 각각의 포탈을 통해 개별적으로 관리되고 있었다. 이러한 방식은 특별히 막 불편하지는 않았지만, 더 효율적인 방법을 찾을 수 있을 것 같았다. 일단, 네개의 컴포넌트 모두 각각을 위한 Provider을 통해 화면의 최상단에 렌더링되는 컴포넌트 들이었기에, 해당 포털을 하나로 통일하고 하나의 훅에서 관리하면 좋겠다는 생각이 들었다.특히, 다양한 포탈 유형을 각각 별도로 관리함으로써 발생한 사소하지만 구체적인 불편함들은 다음과 같다:// 기존 예시 코드const { modal } = useModal();const { toast } = useToast();const openNotifyAction = async () => {..
더보기