Я бы хотел, чтобы пользователь определял начальное числовое значение, которое затем обновляется (то есть добавляется к) на определенную величину при каждом нажатии кнопки действия. Я использую реактивный, чтобы попытаться сделать это обновление, но получаю страшную Операция не разрешена без активного реактивного контекста ошибка. Я в замешательстве, потому что я думал, что использование реактивного делает что-то внутри реактивного выражения , но, очевидно, я не прав
Я искал соответствующие вопросы / статьи / учебные пособия, но оказался пустым. Любой совет высоко ценится. И, пожалуйста, дайте мне знать, если есть лучший способ выполнить эту задачу, то есть, если я должен использовать различные функции или методы.
Ниже урезанная версия моего кода:
library(shiny)
ui <- fluidPage(
## initilize the value
numericInput('init.i','initial i',10),
## click this button to add one to the initial value
actionButton("run","Run"),
## output the current count
textOutput("cur.i")
)
server <- function(input,output) {
## define the current value according to the inital value
i <- reactiveVal({
input$init.i ## this line fails
##1 ## this line doesn't fail but value always initializes at 1
})
observeEvent(input$run, {
## make a new value by adding 1 to the current value
new.i <- i() + 1
## update the value
i(new.i)
output$cur.i <- renderText({
## print the current value
i()
})
})
}
shinyApp(ui=ui,server=server)