是否有一个暴露的(甚至可能是非暴露的)闪亮功能可以告诉我何时反应无效?示例草案:
ui.R
selectInput('select', ...)
server.R
myfunc <- reactive({ ... input$select ... })
output$listen <- textOutput({
valid_flag <- ???(myfunc)
paste('This function is', valid_flag)
})
???()
函数会在反应无效或无效的情况下向我提供信息。
答案 0 :(得分:3)
在浏览闪亮的包裹代码后,我可能真的找到了解决方案。类reactive
的对象是S3对象,但反应机制在attr(object, "observable")
中是“隐藏”的,即R6类。上面我的问题的解决方案是:
myfunc <- reactive({ ... input$select ... })
output$listen <- textOutput({
valid_flag <- attr(myfunc, "observable")$.invalidated
paste('This function is invalidated:', valid_flag)
})
示例可能不是最好的(我仍然不确定attr(myfunc, "observable")
是否充当被动对象,但我在不同的上下文中使用它 - 不是以被动方式打印而是通知关于反应堆栈状态的其他代码部分。