闪亮问题 - 在多用户环境中跟踪用户设置

时间:2014-08-21 13:19:23

标签: r user-interface shiny

我在Shiny用户群上问了这个问题,但是还没有得到回复,所以我也在这里发帖。

我有一个需要跟踪用户偏好的应用,可能有多个用户可能同时使用该应用。为简单起见,我们假设我有一个列表,其中包含存储在闪亮服务器功能中的用户设置。它是一个很长的列表(1000个元素),包含基于用户与应用程序交互的属性。用户实际上可以将此列表的任何索引更改为数百种可能的设置之一。我最初的解决方案是这样的:

shinyServer(function(input, output, session) {
 settings <<- rep("A",1000)

 observe({
      input$changeSettingsButton
      settings[input$changeIndex] <<- input$newSetting
 })
}

除非您有多个人同时使用该应用,否则效果会非常好,因为&lt;&lt; - 会话跨会话创建全局共享变量。有没有办法做到这一点?

1 个答案:

答案 0 :(得分:3)

您可以使用reactiveValues来存储持久用户信息。像

这样的东西
shinyServer(function(input, output, session) {
  myReactives <- reactiveValues(settings = rep("A",1000))

  observe({
    input$changeSettingsButton
    isolate(myReactives$settings[input$changeIndex] <- input$newSetting)
  })
}

可能适合你。