Стек навигации 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()
}
}
}
}
}