title: Nested NavigationLink selection bound to ObservedObject: Navigation animation shown twice
body: <p>I have a List of NavigationLinks (2nd level) with their selection bound to an @ObservedObject's value, so I can navigate programmatically by setting <code>stuff.selectedMessage</code>.</p>
  <pre><code>struct MessagesView: View {
  
    @ObservedObject var stuff: MyStuff
  
    var body: some View {
  
        List {
          ForEach(stuff.myMessages!) { myMessage in
            NavigationLink(
              destination: MyMessageView(myMessage: myMessage),
              tag: String(myMessage.MessageID),
              selection: $stuff.selectedMessage) {
                Text(myMessage.text)
            }
          }
        }
  
    }
  }
  
  struct ContentView: View {
  
    @ObservedObject var stuff = MyStuff.shared
     
    var body: some View {
      NavigationView {
        List {
          NavigationLink(
            destination: MessagesView(stuff: stuff),
            tag: &quot;view-messages&quot;,
            selection: $stuff.selectedView) {
              // ...
          }
          NavigationLink(
            destination: SomeOtherView(stuff: stuff),
            tag: &quot;view-other&quot;,
            selection: $stuff.selectedView) {
              // ...
          }
        }
      }
    }
  }
  
  
  class MyStuff: ObservableObject {
  
    static let shared = MyStuff()
  
    @Published var selectedView: String? = nil
    @Published var selectedMessage: String? = nil
    // ...
  
  }
  
  </code></pre>
  <p>When tapping on a NavigationLink or when I set <code>stuff.selectedMessage</code> programmatically, it navigates to the corresponding view, however, it seems like the navigation is done twice, or at least <strong>the navigation animation is shown twice</strong>, which doesn't look nice (probably because it's 2nd level).</p>
  <p>When using a <code>@State</code> variable instead of <code>@ObservedObject</code> it works fine. However, I need to access <code>stuff</code> from AppDelegate (when receiving a &quot;New Message&quot; push notification) and it seems I cannot  (or shouldn't) access @State variables from AppDelegate.</p>
  <p>When not using nested navigation, it also works fine.</p>
  <p><strong>Edit: It also works fine when removing the <code>selection</code> parameter of the root NavigationLinks.</strong></p>
  <p>Xcode version: 13.2.1</p>