NavigationLink Works Only for Once NavigationLink Works Only for Once ios ios

NavigationLink Works Only for Once


[UPDATE] Nov 5, 2020 - pawello2222 says that this issue has been fixed in Xcode 12.1.


[UPDATE] Jun 14, 2020 - Quang Hà says that this issue has come back in Xcode 11.5.


[UPDATE] Feb 12, 2020 - I checked for this issue in Xcode 11.4 beta and found that this issue has been resolved.


I was getting the same issue in my project too, when I was testing it in Xcode's simulator. However, when I launched the app on a real device (iPhone X with iOS 13.3), NavigationLink was working totally fine. So, it really does seem like Xcode's bug.


Simulator 11.4: This issue has been fixed

You need to reset the default isActive value in the second view.It works on devices and emulators.

struct NavigationViewDemo: View {    @State var isActive = false    var body: some View {        NavigationView {            VStack {                Text("View1")                NavigationLink(                    destination: NavigationViewDemo_View2(isActive: $isActive),                    isActive: $isActive,                    label: { Button(action: { self.isActive = true }, label: { Text("click") }) })            }        }    }}struct NavigationViewDemo_View2: View {    @Binding var isActive: Bool    var body: some View {        Text("View2")            .navigationBarItems(leading: Button(action: { self.isActive = false }, label: { Text("Back") }))    }}


Presumably this will be resolved when Apple fixes the related bug that prevents 13.3 from being selectable as a deployment target.

I'm experiencing the same issue as everyone else. This issue is present in simulator and preview running 13.2, but is fixed when deploying to my own device running 13.3.