Shiny Router:为您的Shiny应用添加路由功能
1. 项目介绍
Shiny Router 是一个为 Shiny 应用程序提供路由功能的开源库。它允许开发者在 Shiny 应用中实现类似 Web 应用的路由功能,可以通过 URL 来控制页面的显示,从而让应用的状态可以通过 URL 进行重现。
2. 项目快速启动
首先,您需要安装 Shiny Router。可以通过两种方式安装:
通过 CRAN 安装:
install.packages("shiny.router")
通过 GitHub 安装:
remotes::install_github("Appsilon/shiny.router")
安装完成后,可以创建一个简单的 Shiny 应用来尝试使用 Shiny Router。
创建 Shiny 应用:
library(shiny)
library(shiny.router)
root_page <- div(h2("根页面"))
other_page <- div(h3("其他页面"))
ui <- fluidPage(
title = "Router 示例",
router_ui(
route("/", root_page),
route("/other", other_page)
)
)
server <- function(input, output, session) {
router_server()
}
shinyApp(ui, server)
在上述代码中,router_ui
函数定义了应用的路由规则,route
函数用于指定 URL 路径与对应的 UI 内容。
3. 应用案例和最佳实践
案例一:多页面应用
创建一个包含多个页面的 Shiny 应用,每个页面都可以通过 URL 直接访问。
# ...其他代码...
page1 <- div(h3("页面 1"))
page2 <- div(h3("页面 2"))
ui <- fluidPage(
# ...其他代码...
router_ui(
route("/", root_page),
route("/page1", page1),
route("/page2", page2)
)
)
# ...其他代码...
案例二:动态内容加载
利用 Shiny Router 可以根据 URL 动态加载不同的内容。
# ...其他代码...
ui <- fluidPage(
# ...其他代码...
router_ui(
route("/", {
# 动态生成内容的代码
}),
route("/dynamic", {
# 另一个动态内容的代码
})
)
)
# ...其他代码...
4. 典型生态项目
- Rhino:一个 R 包,旨在帮助快速构建高质量的 Shiny 应用程序。
- Shiny Fluent:将 Microsoft 的 Fluent UI 集成到 Shiny 应用程序中,提供美观的界面。
以上就是 Shiny Router 的基本介绍和快速启动指南。通过这个库,您可以更加灵活地控制 Shiny 应用的页面路由,为用户提供更加流畅的体验。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考