Стек навигации SwiftUI с маршрутами

Я пытаюсь создать навигацию для своего приложения, используя стек навигации и маршрутизацию. Мой код работает и переходит к представлениям, проблема, с которой я сталкиваюсь, заключается в том, что представление вызывается несколько раз из оператора switch, я поместил стек навигации в некоторое представление сцены, а затем добавил простую ссылку при нажатии он проходит через оператор switch и берет значение 3 раза и отображает представление, я поместил оператор печати в переключатель, и он печатается 3 раза для моего нового значения представления, после вызовов базы данных и т. д., они также вызываются 3 раз.

Я новичок в SwiftUI, поэтому уверен, что это ошибка пользователя, буду признателен за любую помощь, спасибо.

          enum Routing : Hashable {
    case AddFlight
    case PilotsList
    case newview
}


@State var navPath = NavigationPath()

var body: some Scene {
    
 
    WindowGroup {
        NavigationStack (path: $navPath) {
           
            NavigationLink(value: Routing.newview, label: {Text("Go to new view")})
            
         
                .navigationDestination(for: Routing.self) { route in
                
                
                    switch route {
                    case .newview:
                       Text("New View")
                         let a = print("New view")
                    case  .PilotsList :
                       PilotsListView()
                    case  .AddFlight:
                      
                          AddEditFlightView()
                    }
                    
                    
                }
        }
    }
}

0 ответов

Другие вопросы по тегам