Huge finding @Weuler, thank you. @Eric-Yuan you can continue using \.dismiss, but you must create explicit captures for parameters to your destination, like this:
var param: Param
@Environment(\.dismiss) var dismiss
var body: some View {
Text("***")
.navigationDestination(for: Int.self) { [_param = self.param] intValue in
SomeSubview(param: _param)
}
}
This way, you don't capture self (the parent view, which has a non-equatable var) in SomeSubview, only self.param.
Topic:
UI Frameworks
SubTopic:
SwiftUI
Tags: