You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Shiny中结合bslib使用Firebase UI?报错修复

修复Shiny+bslib+Firebase的UI容器报错问题

问题原因

page_navbar的直接子元素仅支持nav_panel/nav_menu这类导航组件,你直接把useFirebase()和firebaseUIContainer()放在顶级位置,不符合它的结构要求,所以抛出错误。

修复方法

把useFirebase()和firebaseUIContainer()放到page_navbar的header参数中,header专门用来放置所有导航面板顶部的通用内容,刚好适配Firebase登录容器的需求。

修正后的代码

library(shiny)
library(bslib)
library(firebase)
    
ui <- page_navbar(
  title = "title",
  sidebar = sidebar("Sidebar"),
  # 将Firebase相关UI放入header参数
  header = tagList(
    useFirebase(),
    firebaseUIContainer()
  ),
  nav_panel("P1", "Page 1 content"),
  nav_panel("P2", "Page 2 content"),
  nav_panel("P3", "Page 3 content"),
  nav_panel("P4", "Page 4 content")
)


server <- function(input, output, session) {
  f <- FirebaseUI$new()$set_providers(
    email = TRUE,
    google = TRUE)$launch()
}

shinyApp(ui, server)

补充说明

  • tagList用来将多个UI元素打包成一个整体,作为header的参数值;
  • 如果希望Firebase容器出现在所有面板底部,也可以换成footer参数,用法和header一致。

内容的提问来源于stack exchange,提问作者umair durrani

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.11 11:12:28