Obserwatory a reaktywy

Tworzenie aplikacji internetowych z Shiny w R

Ramnath Vaidyanathan

VP of Product Research

Przepływ reaktywny

Diagram przedstawiający przepływ reaktywny w aplikacji Shiny

Tworzenie aplikacji internetowych z Shiny w R

Obserwatory (1/2)

Aplikacja, w której użytkownik może wpisać swoje imię i otrzymać spersonalizowane powitanie w oknie dialogowym

Tworzenie aplikacji internetowych z Shiny w R

Obserwatory (2/2)

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

server <- function(input, output, session){
  observe({
    showNotification(
      paste("You entered the name", input$name)
    )
  })
}
Tworzenie aplikacji internetowych z Shiny w R

Obserwatory a reaktywy

Rola

  • reactive() służy do obliczania wartości, bez efektów ubocznych.
  • observe() służy do wykonywania działań, z efektami ubocznymi.

Różnice

  • Wartości zwracane: Wyrażenia reaktywne zwracają wartości, obserwatory nie.
  • Ewaluacja: Obserwatory reagują natychmiast na zmiany zależności, wyrażenia reaktywne są leniwe.
  • Efekty uboczne: Obserwatory są użyteczne głównie ze względu na efekty uboczne; wyrażenia reaktywne NIE mogą ich mieć.
Tworzenie aplikacji internetowych z Shiny w R

Czas na ćwiczenia!

Tworzenie aplikacji internetowych z Shiny w R

Preparing Video For Download...