title: NavigationLink freezes when trying to revisit previously clicked NavigationLink in SwiftUI
body: <p>I am designing an app that includes the function of retrieving JSON data and displaying a list of retrieved items in a FileBrowser type view. In this view, a user should be able to click on a folder to dive deeper into the file tree or click on a file to view some metadata about said file.</p>
  
  <p>I've observed that while this is working, when I click on a file or folder then go back and click on it again, the NavigationLink is not triggered and I am stuck on the view until I click into a different NavigationLink.</p>
  
  <p>Here is a gif demonstrating this problem.</p>
  
  <p><a href="https://i.stack.imgur.com/gdZas.gif" rel="noreferrer"><img src="https://i.stack.imgur.com/gdZas.gif" alt="Double Tap bug"></a></p>
  
  <p>As seen here, when I click on BlahBlah I am activating the NavigationLink and taken to BlahBlah, then when I navigate back and try to renavigate to BlahBlah, it becomes grey, registering that I clicked on it... but then never transports me there. Clicking on TestFile fixes this and allows me to navigate back to BlahBlah.</p>
  
  <p>The list items are made with the following structs</p>
  
  <pre class="lang-swift prettyprint-override"><code>private struct FileCell{
      var FileName: String
      var FileType: String
      var FileID: String = ""
      var isContainer: Bool
  }
  
  private struct constructedCell: View{
  
      var FileType: String
      var FileName: String
      var FileID: String
  
      var body: some View {
          return
              HStack{
                  VStack(alignment: .center){
                      Image(systemName: getImage(FileType: FileType)).font(.title).frame(width: 50)
                  }
                  Divider()
                  VStack(alignment: .leading){
                      Text(FileName).font(.headline)
                          .multilineTextAlignment(.leading)
                      Text(FileID)
                          .font(.caption)
                          .multilineTextAlignment(.leading)
                  }
          }
      }
  }
  </code></pre>
  
  <p>and called into view with navigationLinks as follows</p>
  
  <pre class="lang-swift prettyprint-override"><code>List(cellArray, id: \.FileID) { cell in
                  if (cell.isContainer) {
                      NavigationLink(destination: FileView(path: "/\(cell.FileID)", displaysLogin: self.$displaysLogin).navigationBarTitle(cell.FileName)){
                          constructedCell(FileType: cell.FileType, FileName: cell.FileName, FileID: cell.FileID)
                      }
                  } else {
                      NavigationLink(destination: DetailView(FileID: cell.FileID).navigationBarTitle(cell.FileName)){
                          constructedCell(FileType: cell.FileType, FileName: cell.FileName, FileID: cell.FileID)
                      }
                  }
              }
  </code></pre>
  
  <p>My NavigationView is initialized in the view above (the app has a tab view) this as follows</p>
  
  <pre class="lang-swift prettyprint-override"><code>TabView(selection: $selection){
                 NavigationView{
                      FileView(displaysLogin: self.$displaysLogin)
                          .navigationBarTitle("Home", displayMode: .inline)
                          .background(NavigationConfigurator { nc in
                              nc.navigationBar.barTintColor = UIColor.white
                              nc.navigationBar.titleTextAttributes = [.foregroundColor : UIColor.black]
                          })
                  }
                  .font(.title)
                  .tabItem {
                      VStack {
                          Image(systemName: "folder.fill")
                          Text("Files")
                      }
                  }
                  .tag(0)
  }
  </code></pre>
  
  <p>The NavigationConfigurator is a struct I use for handling the color of the navigationBar. It is set up like so</p>
  
  <pre class="lang-swift prettyprint-override"><code>struct NavigationConfigurator: UIViewControllerRepresentable {
      var configure: (UINavigationController) -&gt; Void = { _ in }
  
      func makeUIViewController(context: UIViewControllerRepresentableContext&lt;NavigationConfigurator&gt;) -&gt; UIViewController {
          UIViewController()
      }
      func updateUIViewController(_ uiViewController: UIViewController, context: UIViewControllerRepresentableContext&lt;NavigationConfigurator&gt;) {
          if let nc = uiViewController.navigationController {
              self.configure(nc)
          }
      }
  
  }
  
  </code></pre>
  
  <p>I do not think my NavigationConfigurator is causing this? This bug also happens in other navigationLinks in the app, but it was easiest to demonstrate it here in the FileBrowser view.</p>
  
  <p>This might be a bug in SwiftUI? If it is does anyone know a way to work around this? If it isn't, what am I doing wrong?</p>