Observers vs. reaktiva uttryck

Bygg webbapplikationer med Shiny i R

Ramnath Vaidyanathan

VP of Product Research

Reaktivt flöde

Ett diagram som visar det reaktiva flödet i en Shiny-app

Bygg webbapplikationer med Shiny i R

Observers (1/2)

En app där användaren kan ange sitt namn och få en personlig hälsning i en modal dialogruta

Bygg webbapplikationer med Shiny i 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)
    )
  })
}
Bygg webbapplikationer med Shiny i R

Observers vs. reaktiva uttryck

Roll

  • reactive() används för att beräkna värden, utan sidoeffekter.
  • observe() används för att utföra åtgärder, med sidoeffekter.

Skillnader

  • Returvärden: Reaktiva uttryck returnerar värden, men observers gör det inte.
  • Evaluering: Observers reagerar omedelbart på ändringar i sina beroenden, medan reaktiva uttryck är lata.
  • Sidoeffekter: Observers är primärt användbara för sina sidoeffekter, medan reaktiva uttryck INTE får ha sidoeffekter.
Bygg webbapplikationer med Shiny i R

Nu kör vi en övning!

Bygg webbapplikationer med Shiny i R

Preparing Video For Download...