Shiny

Réactivité

Reactive object: Syntaxe associée


  • Lors de la création de l’objet
  • reacObjectName <- reactive({ … })

  • Lors de l’appel de l’objet
  • reacObjectName()

Application mise en place

Ajout d’un actionButton

  • UI: actionButton() est ajouté
  • Server: observeEvent() ou eventReactive()

Ajout d’un actionButton

  • UI: actionButton() est ajouté
  • Server: observeEvent() ou eventReactive()

eventReactive

  • Créer un objet reactif déclanché à partir d’un autre

  • reacFunction <- eventReactive(                                                                                                     input$simulate, {…})
  • argument 1: élement déclencheur
  • argument 2: Calculs à effectuer

Instructions

  • Allez dans l’app Shiny
  • Ajouter dans l’ui l’actionButton()
  • Ajouter dans le server reactiveEvent

Code associé

reactiveValues


  • Créer une list d’objets reactifs
  • Peuvent être mis à jour par la suite

  • values <- reactiveValues( a=mtcars,
                                                    b=10, c=TRUE)

observeEvent

  • Mettre à jours des objets reactifs déjà existants
  • Mettre en avant des effets neccessitant pas d’output:
  • sauvegarder, reinitialiser, update, envoie de données

  • observeEvent(input$simulate, {…})
  • fonctionne bien avec reactiveValues()

Instructions

  • Retourner dans l’application
  • Modifier la partie server
  • Ajouter reactiveValues et observeEvent()

Code associé

Récapitulatif

Reactivité

  • reactive({...}): Rendre un élement reactif
  • reactiveValue(...): Créer un element reactif qui peut être modifié dans un autre
  • eventReactive(...,{...}): Créer un objet déclanché par un autre
  • observeEvent(...,{...}): Déclancher une action avec des sur des élements déja existants

Questions?