title: onReceive function causing URL in custom textview to blink?
body: <p>I have a timer set up that is called once every few seconds:</p>
  <pre><code>let timer = Timer.publish(every: 5, on: .main, in: .common).autoconnect()
  </code></pre>
  <p>I have a .onReceive() function that its called whenever the timer hits the 5 second mark:</p>
  <pre><code>    var body: some View {
      ZStack {
          MapView().onReceive(self.timer) { input in
              self.database.fetchItems()
              DispatchQueue.main.async {
                  for annotation in self.annotations.annos {
                      if annotation !== self.selectedAnnotation {
                          self.map.removeAnnotation(annotation)
                      }
                  }
                  for item in self.database.items {
                      
                      self.annotations.addNextAnnotation(ID: item.id)
                      
                      var int = 0
                      for annotation in self.annotations.annos {
                          if annotation.title! == &quot;\(item.id)&quot; {
                              self.annotationsVM.annos.remove(at: int)
                              break
                          }
                          int = int + 1
                      }
                  }
              }
          }
          VStack {
              TextView(text: NSAttributedString(string: &quot;testing this thing https://google.com and putting some text after&quot;), mapStyle: &quot;light&quot;)
          }
      }
  }
  } 
  </code></pre>
  <p>I have a custom text view that I implemented and I add an underline to links that are detected in the text itself:</p>
  <pre><code>class MyTextView: UITextView, UITextViewDelegate {
  func textView(_ textView: UITextView, shouldInteractWith URL: URL, in characterRange: NSRange, interaction: UITextItemInteraction) -&gt; Bool {
      print(URL)
      UIApplication.shared.open(URL)
      return false
  }
  }
  
  struct TextView: UIViewRepresentable {
  var text: NSAttributedString
  var mapStyle: String
  
  func makeUIView(context: Context) -&gt; MyTextView {
      let view = MyTextView()
      view.dataDetectorTypes = .link
      view.isEditable        = false
      view.isSelectable      = true
      view.delegate          = view
      view.backgroundColor = UIColor.clear
      view.isUserInteractionEnabled = false
      if self.mapStyle == &quot;dark&quot; {
          view.linkTextAttributes = [NSAttributedString.Key.underlineStyle: NSUnderlineStyle.single.rawValue, NSAttributedString.Key.foregroundColor: UIColor.white]
      } else {
          view.linkTextAttributes = [NSAttributedString.Key.underlineStyle: NSUnderlineStyle.single.rawValue, NSAttributedString.Key.foregroundColor: UIColor.black]
      }
      return view
  }
  
  func updateUIView(_ uiView: MyTextView, context: Context) {
      uiView.attributedText = text
      if self.mapStyle == &quot;dark&quot; {
          uiView.textColor = UIColor.white
      } else {
          uiView.textColor = UIColor.black
      }
      uiView.font = UIFont(name: &quot;HelveticaNeue&quot;, size: 16)
  }
  }
  </code></pre>
  <p>The issue I'm running into, is in the textview that I am rendering, it detects the link correctly and makes it clickable and all that good stuff but for some reason, the clickable link blinks whenever the onReceive function is called. Any ideas?</p>