5
我創建了一個Shiny應用程序,它從數據庫中提取數據。我在UI部分有很多輸入,在服務器部分有很多輸出。瞭解Shiny中的響應函數
在服務器部分我有使用一些輸入建立一個查詢,然後在數據提取從一個數據庫中的反應性官能團,例如:
queriedData <- reactive({
query <- paste0(...,input$a,...);
return(db$find(query))
})
在輸出插槽,我指的是數據使用
x <- queriedData()
我的問題是:
- 我相信,只有當輸入的是重新對數據庫進行輪詢傾向於反應性功能的變化。它是否正確?
- 因此,我是否認爲調用這個被動函數不會產生查詢 - 即數據是否被緩存並提供了緩存數據?
- 對於不屬於查詢的輸入,我假定對這些輸入進行的更改不會導致新的數據庫查詢。它是否正確?
我相信你的理解是正確的。測試的一種方法是在你的函數中加入一些'print()'語句來查看什麼時候被觸發。 – SymbolixAU
我認爲第一點有點不同,當輸入依賴於變化時,被動值將失效,但當說出一些使用被動需求更新的輸出時,它將被重新評估。觀察員按照你的第一點工作。 –