You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R Shiny模块化应用使用reactiveValues出现会话隔离异常问题

问题说明

我有一个部署在shinyapp.io上的模块化Shiny应用,以下是简化后的复现示例。当前存在的问题是:打开该应用的两个实例窗口时,其中一个窗口的操作会同步影响另一个窗口。经排查,问题疑似由server部分的reactiveValues(r_global <- reactiveValues())导致。

复现代码
library(shiny)

#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#                            模块部分                           ----
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
counterButton = function(id, label = "计数器") {
  ns = NS(id)
  tagList(actionButton(ns("button"), label = label),
          verbatimTextOutput(ns("out")),
          dataTableOutput(ns("table")))
}

counterServer <- function(id, r_global) {
  moduleServer(id,
               function(input, output, session) {
                 r_global$count = 0

                 observeEvent(input$button, {
                   r_global$count = r_global$count + 1

                   if (input$button == 3) {
                     output$table <- renderDataTable({
                       mtcars
                     })
                   } else{
                     output$table <- renderDataTable({
                       iris
                     })
                   }
                 })

                 output$out <- renderText({
                   r_global$count
                 })
               })
}

#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#                              UI部分                             ----
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
ui = fluidPage(h1("测试"), counterButton("counter1", "计数器 #1"))

#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
#                            Server部分                           ----
#%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

server <- function(input, output, session) {
  r_global <- reactiveValues()
  counterServer("counter1", r_global = r_global)
}

shinyApp(ui, server)
示例截图

示例截图

内容的提问来源于stack exchange,提问作者nimliug

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 00:20:40