질답 세트 수정 로직 및 드롭다운 UX 개선 리팩토링

Description

[ 요약 ]

질답 세트 수정 로직 및 드롭다운 UX 개선 리팩토링

[ 기능 ]

as-is

  • QnaSetContainer개별적으로 editMode 상태를 관리

    • 여러 항목이 동시에 수정 모드가 되는 문제 발생

    • 추가하기 모드와 수정 모드가 충돌할 가능성 존재

    • 상태 흐름이 분산되어 예측하기 어려움

  • 드롭다운 메뉴가 외부 클릭 시 닫히지 않음

    • 사용자 경험 저하

    • 메뉴가 열린 상태로 고정될 수 있음


to-be

  • 수정 상태를 부모 컴포넌트인 QnaListSection으로 상태 끌어올림

    • editingId: number | null로 현재 수정 중인 항목을 단일 관리

    • 한 번에 하나의 질답 세트만 수정 가능하도록 제어

    • 추가하기 모드와의 충돌 방지

    • 상태 관리 집중으로 가독성·유지보수성 향상

  • useOnClickOutside 커스텀 훅 도입

    • 드롭다운 외부 클릭 시 자동으로 닫히도록 처리

    • 드롭다운 UX 개선 및 재사용 가능한 공통 훅 확보

[ 참고 ]

https://github.com/softeerbootcamp-7th/WEB-Team4-Refit/pull/161#discussion_r2750799705

https://github.com/softeerbootcamp-7th/WEB-Team4-Refit/pull/161#discussion_r2750799711