我现在已经读了好几遍 Shiny 关于响应式编程的文档,但是我还是不能很好地理解 observeEvent
和 eventReactive
之间的区别。
文件上说:
无论何时您希望执行响应事件的操作,都可以使用观察事件。(注意,“重新计算一个值”通常不算执行一个操作——请参阅 eventReactive。)
....
使用 eventReactive 创建一个计算值,该值仅在响应事件时更新。这就像一个正常的反应表达式,只不过它忽略了所有来自其反应依赖性的常见失效;
在我尝试的所有情况中,我看不出使用 observeEvent
和 eventReactive
有什么不同(不管我使用什么函数,代码都能正常工作,对性能没有明显影响)。
你能帮我弄清楚这两者之间的真正区别吗?理想情况下,我希望一些例子,显示当他们是可互换的,一个当 observeEvent
将工作,但不是 eventReactive
,反之亦然。