我理解反应值会根据描述here
通知依赖于该值的任何反应函数基于此我想利用这个属性并创建一个for循环,为我的被动值对象分配不同的值,反过来我期望另一个被动函数重新执行自己,因为被动值在内部发生变化for循环。以下是我想要做的简化示例:
这是ui.R
library(shiny)
# Define UI
shinyUI(pageWithSidebar(
titlePanel("" ,"For loop with reactive values"),
# Application title
headerPanel(h5(textOutput("Dummy Example"))),
sidebarLayout(
#Sidebar
sidebarPanel(
textInput("URLtext", "Enter csv of urls", value = "", width = NULL, placeholder = "Input csv here"),
br()
),
# Main Panel
mainPanel(
h3(textOutput("caption"))
)
)
))
这是服务器文件:
library(shiny)
shinyServer(function(input, output) {
values = reactiveValues(a = character())
reactive({
url_df = read.table(input$URLtext)
for (i in 1:5){
values$a = as.character(url_df[i,1])
Sys.sleep(1)
}
})
output$caption <- renderText(values$a)
})
这不会给出预期的结果。实际上当我检查values$a
的内容时
它是空的。请帮忙!