r - 模块外部变量没有更新 - r shiny

在主 shiny 服务器中,我有一个 reactivePoll 变量。我正在尝试与 shiny 模块共享此更新变量。它显示初始的 value 但它不会更新。我正在尝试让它更新。

这是一个代表:

library(shiny)

# Module ----

# module ui
mod_ui <- function(id){
  ns = NS(id)
  
  verbatimTextOutput(ns("random_num"))
}

# module server
mod <- function(id, number) {
  server <- function(input, output, session) {
    
    output$random_num <- renderPrint(number)
  }
  moduleServer(id, server)
}


# Shiny App ----

ui <- fluidPage(
  tags$span("working random_num"),
  verbatimTextOutput("test"),
  tags$span("not working, module random num"),
  mod_ui("mod_id")
)

server <- function(input, output, session) {
  
  random_num <- reactivePoll(
    intervalMillis = 1000,
    session = NULL,
    checkFunc = function()runif(1),
    valueFunc = function()runif(1)
  )
  
  output$test <- renderPrint(random_num())
  
  mod("mod_id", number = random_num())
}

shinyApp(ui = ui, server = server)

任何帮助是极大的赞赏!

回答1

想了个办法。将 reactivePoll 变量保存到 reactiveValue。观察反应值。很好奇为什么会这样。

library(shiny)

# Module ----

# module ui
mod_ui <- function(id){
  ns = NS(id)
  
  verbatimTextOutput(ns("random_num"))
}

# module server
mod <- function(id, number) {
  server <- function(input, output, session) {
    
    output$random_num <- renderPrint(number$test)
  }
  moduleServer(id, server)
}


# Shiny App ----

ui <- fluidPage(
  tags$span("working random_num"),
  verbatimTextOutput("test"),
  tags$span("not working, module random num"),
  mod_ui("mod_id")
)

server <- function(input, output, session) {
  
  test <- reactiveValues(
    test = runif(1)
  )
  
  random_num <- reactivePoll(
    intervalMillis = 1000,
    session = NULL,
    checkFunc = function()runif(1),
    valueFunc = function()runif(1)
  )
  
  observe(
    test$test <- random_num()
  )
  
  output$test <- renderPrint(random_num())
  
  mod("mod_id", number = test)
}

shinyApp(ui = ui, server = server)

相似文章

graphql - PokeApi GraphQL 限制精灵

我正在尝试在此处使用PokeApigraphQL控制台https://beta.pokeapi.co/graphql/console/来获取具有类型和精灵的口袋妖怪,我已经很容易找出类型,但我似乎无法...

随机推荐

最新文章