title: SwiftUI: Support multiple modals
body: <p>I'm trying to setup a view that can display multiple modals depending on which button is tapped.</p>
  
  <p>When I add just one <code>sheet</code>, everything works:</p>
  
  <pre><code>.sheet(isPresented: $showingModal1) { ... }
  </code></pre>
  
  <p>But when I add another sheet, only the last one works.</p>
  
  <pre><code>.sheet(isPresented: $showingModal1) { ... }
  .sheet(isPresented: $showingModal2) { ... }
  </code></pre>
  
  <p>UPDATE</p>
  
  <p>I tried to get this working, but I'm not sure how to declare the type for <code>modal</code>. I'm getting an error of <code>Protocol 'View' can only be used as a generic constraint because it has Self or associated type requirements</code>.</p>
  
  <pre><code>struct ContentView: View {
      @State var modal: View?
      var body: some View {
          VStack {
              Button(action: {
                  self.modal = ModalContentView1()
              }) {
                  Text("Show Modal 1")
              }
              Button(action: {
                  self.modal = ModalContentView2()
              }) {
                  Text("Show Modal 2")
              }
          }.sheet(item: self.$modal, content: { modal in
              return modal
          })
      }
  }
  
  struct ModalContentView1: View {
      var body: some View {
          Text("Modal 1")
      }
  }
  
  struct ModalContentView2: View {
      var body: some View {
          Text("Modal 2")
      }
  }
  </code></pre>