r - 在 Shiny 中无 react 地使用响应式(Reactive)表达式?

标签 r shiny rstudio

我需要使用:

session$clientData$url_search

这是一个响应式(Reactive)表达式,但我不想在响应式(Reactive)包装器中使用它,即

sessionData <- reactive({
  sessionData <- session$clientData$url_search
})

现在有没有办法以非 react 性方式使用此 session 数据?即

url <- paste("http://example.web.ninja/,sessionData,sep="")
URLdata <- fromJSON(file=url,method='C')

无需使用:

URLdata <- reactive({
    url <- paste("http://example.web.ninja/,sessionData(),sep="")
    URLdata <- fromJSON(file=url,method='C')
 })

谢谢

最佳答案

在这种情况下错误:

Error in URLdata$Name : object of type closure is not subsettable

表示需要引用该对象

URLdata()$Name

这会导致调用 react 函数。在 react 性环境中调用 react 性变量赋予该 react 性环境对该 react 性变量的依赖性。事情可以很快级联,因此有一个方便的函数isolate,它允许人们在响应式(Reactive)环境中调用响应式(Reactive)变量而不赋予该依赖性。在您的情况下,使用访问所需的对象

isolate(URLdata()$Name)

也许就是你想要的。

关于r - 在 Shiny 中无 react 地使用响应式(Reactive)表达式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25655034/

相关文章:

r - 在 DigitalOcean ubuntu 服务器上托管 Shiny 的应用程序时出错

r - 与 R Shiny App 的自动化交互

r - 为同一ggplot中使用的不同data.frame手动添加其他图例

r - 表格格式不会显示 x 值

r - rename.sf(.tbl, !!!syms) 错误 : internal error: can't find `agr` columns

r - knitr:运行Rmarkdown文档中的所有 block

r - Linux 环境中默认的 .RData 工作空间保存在哪里?

r - 错误 : could not find function "read.DNAStringSet"

r - 通过规则列表动态子集 data.frame

r - 如何在 R Studio 中编写字幕代码?