Apple Watch上的SwiftUI NavigationView在子视图中触发对onAppear的多次调用

Apple Watch上的SwiftUI NavigationView在子视图中触发对onAppear的多次调用,swiftui,apple-watch,watchos,ios-navigationview,onappear,Swiftui,Apple Watch,Watchos,Ios Navigationview,Onappear,使用Xcode Beta 12.3,下面的代码将调用onAppear两次并打印两次。当我注释掉包装ContentView的NavigationView时,onAppear只被调用一次。这是预期的行为吗?似乎任何NavigationView都会触发对onAppear的多次调用,这不是我所期望的……我期望的行为与UIKit中出现的Views相同 @main struct anotherTestWatchAppApp: App { var body: some Scene {

使用Xcode Beta 12.3,下面的代码将调用onAppear两次并打印两次。当我注释掉包装ContentView的NavigationView时,onAppear只被调用一次。这是预期的行为吗?似乎任何NavigationView都会触发对onAppear的多次调用,这不是我所期望的……我期望的行为与UIKit中出现的Views相同

@main
struct anotherTestWatchAppApp: App {
    var body: some Scene {
        WindowGroup {
            NavigationView {
                ContentView()
            }
        }
    }
}

struct ContentView: View {
    var body: some View {
        Text("Hello, World!")
        .padding()
            .onAppear(perform: {
                print("test")
            })
    
    }
}

类似的事情也发生在iOS 14上。当通过NavigationLink导航到另一个视图时,
onAppear
onDisappear
都被调用。FB7908688I为此手表提交FB8118748