Observer vs. reattivi

Creare applicazioni web con Shiny in R

Ramnath Vaidyanathan

VP of Product Research

Flusso reattivo

Diagramma del flusso reattivo in un'app Shiny

Creare applicazioni web con Shiny in R

Observer (1/2)

Un'app dove l'utente inserisce il nome e riceve un saluto personalizzato in una finestra modale

Creare applicazioni web con Shiny in R

Observer (2/2)

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

server <- function(input, output, session){
  observe({
    showNotification(
      paste("You entered the name", input$name)
    )
  })
}
Creare applicazioni web con Shiny in R

Observer vs. reattivi

Ruolo

  • reactive() serve a calcolare valori, senza effetti collaterali.
  • observe() serve a eseguire azioni, con effetti collaterali.

Differenze

  • Valori di ritorno: Le espressioni reattive restituiscono valori; gli observer no.
  • Valutazione: Gli observer reagiscono subito ai cambiamenti; le espressioni reattive sono lazy.
  • Effetti collaterali: Gli observer sono utili per gli effetti collaterali; le espressioni reattive NON devono averne.
Creare applicazioni web con Shiny in R

Let's practice!

Creare applicazioni web con Shiny in R

Preparing Video For Download...