如何使用debounce与Shining中的ReactiviveValue

如何使用debounce与Shining中的ReactiviveValue,r,shiny,reactive,R,Shiny,Reactive,我知道我可以像这样对reactive()使用debounce,这是我需要的行为,但我想用reactiveValues()来代替 ui试试这个。我删除了值$text之后的(),因为您需要的是函数/表达式,而不是解析值: ui <- fluidPage( textInput(inputId = "text", label = "To see how quickly..."), textOutput(outputId = "text") ) server <

我知道我可以像这样对reactive()使用debounce,这是我需要的行为,但我想用reactiveValues()来代替


ui试试这个。我删除了
值$text
之后的
()
,因为您需要的是函数/表达式,而不是解析值:

ui <- fluidPage(
  textInput(inputId = "text",
            label = "To see how quickly..."),
  textOutput(outputId = "text")
)

server <- function(input, output, session) {

  values <- reactiveValues()

  observe({
    values$text <- function(x){input$text}

    values$t <-
      debounce(values$text,2000)

  })

  output$text <- renderText({
    values$t()
  })
}

shinyApp(ui, server)

ui-tx,我将observe的内部替换为:
values$t,从而简化了操作
ui <- fluidPage(
  textInput(inputId = "text",
            label = "To see how quickly..."),
  textOutput(outputId = "text")
)

server <- function(input, output, session) {

  values <- reactiveValues()


  observe({
    values$text= function(x)input$text

  values$t <-
    debounce(values$text(),2000)

  })


  output$text <- renderText({
    values$t()
  })
}
shinyApp(ui, server)
ui <- fluidPage(
  textInput(inputId = "text",
            label = "To see how quickly..."),
  textOutput(outputId = "text")
)

server <- function(input, output, session) {

  values <- reactiveValues()

  observe({
    values$text <- function(x){input$text}

    values$t <-
      debounce(values$text,2000)

  })

  output$text <- renderText({
    values$t()
  })
}

shinyApp(ui, server)