Observers vs. reativos

Construindo Aplicações Web com Shiny em R

Ramnath Vaidyanathan

VP of Product Research

Fluxo reativo

Um diagrama mostrando o fluxo reativo em um app Shiny

Construindo Aplicações Web com Shiny em R

Observers (1/2)

Um app onde o usuário digita o nome e recebe um cumprimento personalizado em uma caixa modal

Construindo Aplicações Web com Shiny em 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)
    )
  })
}
Construindo Aplicações Web com Shiny em R

Observers vs. reativos

Papel

  • reactive() calcula valores, sem efeitos colaterais.
  • observe() executa ações, com efeitos colaterais.

Diferenças

  • Valores de retorno: Expressões reativas retornam valores; observers não.
  • Avaliação: Observers reagem imediatamente a mudanças nas dependências; expressões reativas são preguiçosas.
  • Efeitos colaterais: Observers são úteis pelos efeitos colaterais; já expressões reativas NÃO devem tê-los.
Construindo Aplicações Web com Shiny em R

Vamos praticar!

Construindo Aplicações Web com Shiny em R

Preparing Video For Download...