Ich habe die Shiny-Dokumentation über reaktive Programmierung jetzt einige Male gelesen, aber ich kann den Unterschied zwischen observeEvent
und nicht richtig verstehen eventReactive
.
Die Dokumentation sagt:
Verwenden Sie watchEvent, wenn Sie eine Aktion als Reaktion auf ein Ereignis ausführen möchten. (Beachten Sie, dass "Neuberechnung eines Werts" im Allgemeinen nicht als Ausführung einer Aktion gilt - siehe dazu eventReactive.)
....
Verwenden Sie eventReactive, um einen berechneten Wert zu erstellen, der nur als Reaktion auf ein Ereignis aktualisiert wird. Dies ist wie ein normaler reaktiver Ausdruck, außer dass alle üblichen Ungültigmachungen ignoriert werden, die sich aus seinen reaktiven Abhängigkeiten ergeben.
In all den Situationen, in denen ich es versucht habe, habe ich keinen Unterschied zwischen observeEvent
und gesehen eventReactive
(der Code funktioniert einwandfrei, unabhängig von der von mir verwendeten Funktion, ohne erkennbare Auswirkungen auf die Leistung).
Können Sie mir helfen, herauszufinden, was der wahre Unterschied zwischen den beiden ist? Idealerweise möchte ich ein paar Beispiele, die zeigen, wann sie austauschbar sind, eines, wenn observeEvent
es funktionieren würde, aber nicht eventReactive
und umgekehrt.
reactiveValues
Objekt a "empfängt"eventReactive
? Soweit ich weiß,reactiveValues
ähnelt a areactive
, aber ich habe nur Beispiele für denobserveEvent
Umgang mit ihnen gelesen . Ich bin mir nicht sicher, ob dieser Kommentar wirklich im Rahmen dieses Threads liegt ... aber wenn dies der Fall ist, kann ich einen neuen öffnen ...