title: How does one use NavigationLink isActive binding when working with List in SwiftUI?
body: <p>The use case is pretty simple. I have a List of places, and each corresponds to a geofence. I need to enable navigation in that particular row(s) whose geofence the user is inside. And the list is dynamic and is fetched from an API. There are similar question on Stackoverflow, but those address only static lists.</p>
  <p>I tried using a dictionary of bools, but I am not able to make it work.</p>
  <p>This is a simplified mock code:</p>
  <pre><code>struct ListView: View {
    @State private var navActive: [UUID: Bool] = [:]
    var body: some View {
      
             List (viewModel.allItems, id: \.id) { item in
             NavigationLink(destination: DetailView(item), isActive: $navActive[item.id]) {
               Text(item.name)
               .onTapGesture {
                  if currentLocation.isInside(item.geofence) { navActive[item.id] = true }
               }
           }
        }
     }
  }
  </code></pre>
  <p>I get this error: <strong>Cannot convert value of type 'Binding&lt;Bool?&gt;' to expected argument type 'Binding&lt;Bool&gt;'</strong>
  on the NavigationLink isActive argument.</p>
  <p>Note: I've populated the navActive dictionary with key-value pairs on receiving allItems with an onRecieve modifier</p>