2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Shiny Serverで操作結果をURLに渡す方法

Last updated at Posted at 2017-03-12

目的

  • 掲題の件でいい方法が探したが見つからなかったので自力解決
  • もし、もっといい方法があったら教えて欲しい

困ってたこと

  • ShinyServerでReactiveなアプリを書いてみたものの、その結果URLが変わらないため、参考にしてよ〜といったURLをコピペして渡せなかった。
  • この方法結構探したが見つからなかった
  • 引数をURLで渡す方法があるが、その場合UIで渡した値をgetparameterが上書きしてしまうので、違う方法を探していた

やったこと

global.R
## global.R ##に以下追加
enableBookmarking(store = "url")
server.R
## 引数にsession情報追加しつつ、observeですべての操作でbookmark関数動かす
server <- function(input, output, session) {
  observe({
    # Trigger this observer every time an input changes
    session$doBookmark()
  })
  onBookmarked(function(url) {
    updateQueryString(url)
  })
}

observerとは?

An observer is like a reactive expression in that it can read reactive values and call reactive expressions, and will automatically re-execute when those dependencies change. But unlike reactive expressions, it doesn't yield a result and can't be used as an input to other reactive expressions. Thus, observers are only useful for their side effects (for example, performing I/O)

参考

あくまでもbookmarkするためのものを使っただけなので、もっといい方法があると思うが、いったんメモとして残しておく。

2
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?