View disappearing, then reappearing when following a navigation link

I'm seeing some unexpected behavior when pushing a view using NavigationLink. It seems the source view momentarily disappears, the reappears when pushing the destination view, finally disappearing for good after the transition has completed.

You can notice the following output if you use the code below it in a brand new iOS project (from the default Xcode template), run it, and tap on the navigation link. Is this expected behavior?

Code Block
Source appear
Source disappear
Source appear
Destination appear
Source disappear


Code Block
struct ContentView: View {
var body: some View {
NavigationView {
VStack {
Text("Hello, world!").padding()
.onAppear {
print("Source appear")
}
.onDisappear {
print("Source disappear")
}
NavigationLink(
destination: DestinationView(),
label: {
Text("Navigate")
})
}
}
}
}
struct DestinationView: View {
var body: some View {
Text("Destination View")
.onAppear {
print("Destination appear")
}
.onDisappear {
print("Destination disappear")
}
}
}

View disappearing, then reappearing when following a navigation link
 
 
Q