Shiny Basic系列:
参考教程:https://mastering-shiny.org/
(1)IO控件
(2)Layout布局
(3)Reactive用法
(4)Feedback提醒
(5)Module模块
Shiny Package系列:
(1)shinyWidgets
(2)shinyJS
(5)bslib
(6)Other pkgs
在server端的代码,主要由多个reactive类型的代码块组成。
|
|
1. render系列
计算输出结果
|
|
可renderXXX内的expression中的特定variable,通过
isolate()
函数包裹,使该变量值的变化不会引起renderXXX内的全部重新计算,以提高效率。
1 2 3 4 5 6 7
output$Var1 = renderXXX({ ...... isolate(input$Var1) #Var1变化不会触发更新 input$Var2 #Var2变化会触发更新 ...... }) # 也同样适用于下面的reactive({}), observe({})
2. reactive表达式
reactiveVal()
单个值
|
|
reactiveValues()
list类型
|
|
reactive()
表达式
|
|
observe()
与reactive类似,区别在于不返回结果,仅运算表达式,可用于更新reactive value;update widget等场景
|
|
3. 动作触发
通过监督特定值(通常为button)是否发生变化,来控制是否表达式里的计算过程。
此时表达式里包括的input值变化,不会触发表达式的重新计算
eventReactive()
|
|
observeEvent()
|
|