Skip to content

Conversation

@blwxnhan
Copy link
Collaborator

  1. NavigationPath 기반 네비게이션 구현
  • CheerViewModel
    • NavigationPath 추가하여 네비게이션 상태 관리
    • CheerNavigationDestination enum 정의 (타입 안전한 네비게이션)
  • CheerView
    • NavigationView → NavigationStack(path:) 변경
    • .navigationDestination(for:) 추가하여 경로별 화면 매핑
  1. NavigationLink 방식 변경
  • 기존: NavigationLink(destination:) - path와 독립적으로 동작
  • 변경: NavigationLink(value:) - path와 연동되어 동작

변경된 파일:

  • CheerSearchfailedView.swift: 요청하기 버튼
  • RequestMainView.swift: 매장 목록 → 지도 화면
  1. 탭 전환 시 네비게이션 초기화
  • ContentView
    • TabView에 selection 바인딩 추가
    • 각 탭에 tag 부여
    • .onChange(of: selectedTab) 에서 공감탭 선택 시 navigationPath 초기화
  1. 모델 업데이트
  • KakaoMarketData: Hashable conform 추가 (NavigationPath 요구사항)

[ Test Scenario ]

  1. 공감탭 → 검색 → 요청하기 페이지 → 매장 선택 → 요청 완료
    - 공감탭 Root로 이동 (검색어 초기화 X)
  2. 공감탭 → 검색 → 요청하기 페이지 → 다른 탭 이동 → 공감탭 재선택
    - 공감탭 Root로 이동, 검색어 초기화

[ Technical Notes ]

NavigationPath vs NavigationLink(destination:)

  • NavigationLink(destination:): NavigationStack 내부의 별도 스택 사용, path와 무관
  • NavigationLink(value:): NavigationPath와 연동되어 외부에서 제어 가능

왜 CheerView만 수정했는지 : 공감탭만 깊은 네비게이션 depth(3단계) + Root 초기화 요구사항 존재
-> 다른 탭들은 단순 네비게이션으로 기존 방식 유지 (불필요한 복잡도 추가 방지)

Closes #123

@blwxnhan blwxnhan requested a review from yena0213 January 10, 2026 06:44
@yena0213 yena0213 merged commit 76e717d into main Jan 10, 2026
@blwxnhan blwxnhan deleted the Fix#123/RequestDepth branch January 21, 2026 09:16
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[Fix] 요청페이지의 뎁스 수정

3 participants