我可以更新/更改保持在响应式(Reactive)中的值吗?例如,
x <- reactive({
isolate(input$site1)
})
# Inpsect values from ui.R.
output$test <- renderText({
# Take a dependency on input$goButton
input$goPlot # Re-run when button is clicked
site1 <- isolate(input$site1)
if(site1 == x()){
site1
} else {
paste(x(), site1)
x() <- site1 // this not working obviously.
}
})
有任何想法吗?
之所以要这样做,是因为我想在用户单击按钮
input$site1
时存储以前的输入数据input$goPlot
,并且要确保用户在再次单击按钮时选择使用不同的选项。如果他们选择相同的数据或不选择任何其他选项并单击按钮,那么我不希望该应用程序执行任何操作。希望这是有道理的。 最佳答案
您想要的不是响应式表达式,而是reactive values:
shinyServer(function(input, output, session) {
values <- reactiveValues(x="someValue")
output$test <- renderText({
...
if(site1 == isolate(values$x)) {
...
} else {
...
values$x <- site1
}
})
})
关于r - Shiny 的如何更新存储在 react 堆中的值(value)?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/31497604/