pile·
프론트엔드·인프랩 (인프런)인프런 (인프랩)·

강의실 모달 지옥에서 탈출하기: React useFunnel hook 설계

문제인프런 강의실의 10개 이상 모달이 서로를 직접 호출해 조건 분기가 파일 곳곳에 흩어져 있고, 정책 변경마다 여러 컴포넌트를 동시에 수정해야 한다.
접근토스 SLASH 23 의 Funnel 패턴을 차용해 useFunnel 훅을 설계한다. 모달을 step 배열로 선언, name·type·condition·action.fire/cleanup 을 가진 FunnelStep 인터페이스로 표현하고 큐로 중첩 funnel 을 처리한다. prepareCondition 으로 API 대기 후 다음 step 실행.
결과모달은 nextStep() 만 호출하고 순서를 모른다. 조건과 순서가 한 곳에 모여 가독성 회복, 배열 재배치만으로 흐름 변경 가능.
인프랩 (인프런)
인프런 (인프랩) 블로그
원문은 여기서 이어서 읽을 수 있어요
원문 읽기
읽음 (0)

이 글과 비슷한

  1. 프론트엔드·여기어때 (GC컴퍼니)여기어때 (GC컴퍼니)·

    항공 프론트엔드 구축기 (7/10): 창구를 하나만 두었습니다

    여기어때 항공 서비스 프론트엔드가 웹과 앱 웹뷰 두 환경에서 동일한 함수 호출로 동작하는 앱 브릿지 추상화 레이어를 설계한 과정을 다룬다. iOS·안드로이드 규약 차이와 "웹에 존재하지 않는 브릿지를 어떻게 호출하나"라는 문제를 단일 추상화 층으로 해결한 구현 사례다.

    요약 이어보기
    #react#typescript#webview+2