Observers vs. reactives

Webapplicaties bouwen met Shiny in R

Ramnath Vaidyanathan

VP of Product Research

Reactieve flow

Een diagram dat de reactieve flow in een Shiny-app toont

Webapplicaties bouwen met Shiny in R

Observers (1/2)

Een app waar de gebruiker een naam invoert en een persoonlijke begroeting krijgt in een modaal dialoogvenster

Webapplicaties bouwen met Shiny in R

Observers (2/2)

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

server <- function(input, output, session){
  observe({
    showNotification(
      paste("You entered the name", input$name)
    )
  })
}
Webapplicaties bouwen met Shiny in R

Observers vs. reactives

Rol

  • reactive() berekent waarden, zonder neveneffecten.
  • observe() voert acties uit, met neveneffecten.

Verschillen

  • Returnwaarden: Reactieve expressies geven waarden terug; observers niet.
  • Evaluatie: Observers reageren meteen op wijzigingen in dependencies; reactieve expressies zijn lui.
  • Neveneffecten: Observers zijn nuttig om hun neveneffecten; reactieve expressies mogen GEEN neveneffecten hebben.
Webapplicaties bouwen met Shiny in R

Laten we oefenen!

Webapplicaties bouwen met Shiny in R

Preparing Video For Download...