Observateurs vs réactifs

Créer des applications web avec Shiny en R

Ramnath Vaidyanathan

VP of Product Research

Flux réactif

Schéma du flux réactif dans une application Shiny

Créer des applications web avec Shiny en R

Observateurs (1/2)

Application où l'utilisateur saisit son nom et reçoit une salutation personnalisée dans une boîte de dialogue modale

Créer des applications web avec Shiny en R

Observateurs (2/2)

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

server <- function(input, output, session){
  observe({
    showNotification(
      paste("You entered the name", input$name)
    )
  })
}
Créer des applications web avec Shiny en R

Observateurs vs réactifs

Rôle

  • reactive() sert à calculer des valeurs, sans effets de bord.
  • observe() sert à exécuter des actions, avec effets de bord.

Différences

  • Valeurs de retour : les expressions réactives renvoient des valeurs, pas les observateurs.
  • Évaluation : les observateurs réagissent immédiatement aux changements de dépendances, tandis que les expressions réactives sont paresseuses.
  • Effets de bord : les observateurs sont utiles surtout pour leurs effets de bord, tandis que les expressions réactives ne doivent PAS en avoir.
Créer des applications web avec Shiny en R

Passons à la pratique !

Créer des applications web avec Shiny en R

Preparing Video For Download...