觀察器 vs. 反應式

使用 R 的 Shiny 建立網頁應用程式

Ramnath Vaidyanathan

VP of Product Research

反應式流程

Shiny 應用中的反應式流程圖

使用 R 的 Shiny 建立網頁應用程式

觀察器(1/2)

一個應用:使用者輸入名字,系統以對話框回應個人化問候

使用 R 的 Shiny 建立網頁應用程式

觀察器(2/2)

ui <- fluidPage(
  textInput('name', 'Enter your name')
)

server <- function(input, output, session){
  observe({
    showNotification(
      paste("You entered the name", input$name)
    )
  })
}
使用 R 的 Shiny 建立網頁應用程式

觀察器 vs. 反應式

角色

  • reactive() 用於計算數值,不產生副作用。
  • observe() 用於執行動作,會產生副作用。

差異

  • 回傳值:反應式運算會回傳值;觀察器不會。
  • 評估時機:觀察器對相依變動即時回應;反應式為延遲評估。
  • 副作用:觀察器主要用於其副作用;反應式不應有副作用。
使用 R 的 Shiny 建立網頁應用程式

一起來練習吧!

使用 R 的 Shiny 建立網頁應用程式

Preparing Video For Download...