当前位置:  开发笔记 > 编程语言 > 正文

在闪亮的应用程序中使用会话参数

如何解决《在闪亮的应用程序中使用会话参数》经验,为你挑选了1个好方法。

如RStudio参考文档中所述,闪亮的服务器功能可以选择包含session作为参数(例如function(input, output, session))。会话对象是可用于访问与会话有关的信息和功能的环境。

我从未在我的应用程序中使用此参数,并且可能丢失了一些内容。

session参数的实际用途是什么?



1> BigDataScien..:

这是我的概述尝试:

用例列表:

定制的用户界面

聊天室

游戏

Javascript通讯

会话结束时触发功能

模块化闪亮应用程序的全局反应值

更新输入

会话结束时触发功能

例如,关闭数据库连接,请参阅 如何在R Shiny中实现清理例程?。

在关闭浏览器/会话时停止闪亮的应用程序:

如何通过关闭浏览器窗口来停止运行闪亮的应用程序?

自定义用户界面

用户界面将取决于调用它的设备。是手机还是PC,使用的是屏幕分辨率等。

在ui中使用流畅的页面会有所帮助,但当然也有限制。

使用session$clientData$output_{OUTPUT_ID}_heightsession$clientData$output_{OUTPUT_ID}_width 可以跟踪如何为用户呈现输出。您可以进行实时调整(如果剧情太小,请勿插入我的大标题)。或者,您可以在找到用户最常用的ui设置后跟踪数据并调整ui。

用户互动

您可以在该会话/中为该用户创建本地/秘密reactValue(),并且可以在服务器功能之外为跨用户/会话可访问的“全局信息”设置reactValues()。

这样,您可以跨会话共享信息,但也可以为某些用户隐藏特定的值。

用例示例:聊天室 https://shiny.rstudio.com/gallery/chat-room.html

用例示例:游戏 R Shiny能否同时为两个同时交互的用户显示不同的视图?

在模块之间共享数据

如评论中所述,目前有一个开放的赏金计划,要求它为模块化闪亮应用程序提供全局响应值。请参阅有光泽的模块:如果服务器功能失败 并且破坏了模块ui,

https://appsilon.com/super-solutions-for-shiny-architecture-1-of-5-using-session-data/?nabe=4634331497365504:0。

最后,您有一些间接使用的功能,因为有很好的包装器功能/包装。

向Java发送消息

(对此有很好的包装。例如Shinyjs包)。

如果您想将javascript集成到您的应用中,然后将消息从Shiny发送到javascript,可以使用 session:sendCustomMessage()

参见例如 http://www.blog.rdata.lu/post/2017-09-16-communication-between-r-and-d3js/和 https://shiny.rstudio.com/articles/js-send- message.html。

更新输入

您可以session$sendInputMessage(inputId, message)用来更新输入。但是同样,已经有更方便的包装函数,例如updateTextInput()

但是,对于没有辅助功能的输入要牢记,这很有趣。

总体概述:

https://shiny.rstudio.com/reference/shiny/latest/session.html

推荐阅读
LEEstarmmmmm
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有