为了将应用程序的状态保存到磁盘,我使用了函数reactiveValuesToList()
。
当我想从磁盘加载状态时,我使用do.call(reactiveValues, ...)
,如previous question所示。
但是在那之后observe
rs就不能用了。。
可复制示例
library(shiny)
reactiveConsole(T)
r <- reactiveValues()
r$a <- 1
r$b <- 2
observe(cat("State:", r$a, r$b))
#> State: 1 2
savepath <- tempfile()
save_app_state <- function() {
saveRDS(reactiveValuesToList(r), savepath)
}
load_app_state <- function() {
state <- readRDS(savepath)
r <- do.call(reactiveValues, state)
}
save_app_state()
r$b <- 0
#> State: 1 0
load_app_state()
##### EXPECTED #######
#> State: 1 0
## but nothing happens
字符串
创建于2023-07-23,使用reprex v2.0.2
1条答案
按热度按时间kb5ga3dv1#
您正在创建一个新的reactiveValues对象。执行:
字符串