I'm having a problem with old views that have been popped from the navigation stack still seems to be updated in the background even though they are not visible or on the navigation stack. I do the following: The main view is pushing a sub view on the navigation stack. The sub view becomes visible. The user uses the back arrow to go back, popping the sub view from the navigation stack. The main view is now visible. The main view updates and this seems to cause the sub view to also update, even though it shouldn't be active. The problem I have is that when the data model is being updated the sub view crashes since it's trying to access data that doesn't exist anymore. Sample code: import SwiftUI struct ContentView: View { var body: some View { TestView(items: [1, 2, 3, 4, 5]) } } struct TestView: View { @State var items: [Int] var body: some View { NavigationView { VStack { Text(Hello) List { ForEach(items, id: .self) { item in NavigationLink(destination: SubView(items: self.$items, number: i