🛑 오류 메시지

🔍 원인
해당 오류는 한 프레임 내에서 내비게이션 이동이 여러 번 호출될 때 발생한다.
- 동일한 내비게이션 명령이 중복으로 실행됨.
- 버튼이 짧은 시간에 빠르게 여러 번 입력되어 중복된 호출 발생.
🛠 해결 방법
1. 플래그를 활용한 중복 방지
화면 이동 중을 나타내는 변수를 사용하여 중복 호출을 방지하는 방법
@State private var isNavigating: Bool = false
2. 유예기간 적용
적당한 처리 시간을 주고(예: 0.5초) 연속적인 이벤트를 제한하여 이벤트 중복 수신을 방지하는 방법
debounce나 throttle을 적용하여 처리할 수도 있다.
🧐 더 간단한 방법은 없나요..?
NavigationStack을 관리하는 클래스에서 중복된 View일 경우 Push하지 못하도록 처리
func push(_ path: T) {
guard paths.last != path else { return } // 중복 이동 방지
paths.append(path)
}