I read the Shiny documentation about reactive programming a few times now, but I can't properly understand the difference between observeEvent
and eventReactive
.
The documentation says:
Use observeEvent whenever you want to perform an action in response to an event. (Note that "recalculate a value" does not generally count as performing an action–see eventReactive for that.)
....
Use eventReactive to create a calculated value that only updates in response to an event. This is just like a normal reactive expression except it ignores all the usual invalidations that come from its reactive dependencies;
In all the situation I tried I saw no difference between using observeEvent
and eventReactive
(the code works just fine regardless the function I use, with no apparent impact in performances).
Can you help me figure out what is the real difference between the two? Ideally I would like a few examples showing when they are interchangeable, one when observeEvent
would work but not eventReactive
and vice versa.