我在导航堆栈中有一个视图,该视图依赖于稍后更改的 ObservedObject。当这种变化发生时,导航控制器会自动弹出那里。为什么会发生这种情况以及如何避免?
这是视图代码的一部分
struct ProductDetailView: View {
@ObservedObject var photosLibraryHelper = PhotosLibraryHelper.shared
var body: some View {
...
Button(action: {
// What to perform
print("tap")
}) {
if photosLibraryHelper.authorized{
NavigationLink(destination: ProductsView()){
CTAButton(title:"JUMP")
}
}else{
NavigationLink(destination: PhotosPermissionView()){
CTAButton(title:"CREATE")
}
}
}
...