R闪亮的服务器变量定义。修改后的值不反映

时间:2019-06-24 12:48:28

标签: r shiny reactive

可能是一个基本问题。但是在网上找不到解决方案。

问题是我想在server.r中定义如下变量

function(input, output, session) {

  currentrunid <- ""

然后在submit按钮上单击我要为其分配值。

  observeEvent(input$submit, {
    currentrunid <- 1234  #Its dynamic

然后在status按钮上单击我要检索变量的值。该变量用于检索作为提交的一部分生成的文件。

observeEvent(input$checkstatus,{
   runid <- currentrunid
   Getoutputfiles(runid) 

但是问题是在“状态”按钮单击时,“提交按钮”上分配的值不可用。

尝试session$currentrunid <- 1234,但出现如下错误 cannot add bindings to a locked environment

我使用了<<-,但有人建议我不要使用它,而应该使用reactive变量。但是还无法成功实施。

请让我知道这里的最佳做法是什么。或如何实现reactive

1 个答案:

答案 0 :(得分:0)

我不知道您想做什么,所以我不确定这个答案是否合适。也许您需要一个无功值,例如:

function(input, output, session) {

  currentrunid <- reactiveVal()

  observeEvent(input$submit, {
    currentrunid(1234) # this assigns 1234 
  })

  # to get the value, do currentrunid(), for example:
  observe({
    print(currentrunid())
  })

  ......