Tepkiselliği ince ayarlayın

Vaka Çalışmaları: R ile Shiny Kullanarak Web Uygulamaları Geliştirme

Dean Attali

Shiny Consultant

Tepkisellik özeti

  • reactive() ve input$ tepkisel
  • Tepkisel değişkenlere bağlı kod, bağımlılıklar güncellenince yeniden çalışır
  • Tepkisel değere erişmek onu bağımlılık yapar
x <- reactive({
    y() * input$num1 * input$num2
})
Vaka Çalışmaları: R ile Shiny Kullanarak Web Uygulamaları Geliştirme

isolate

  • Tepkisel bağımlılık oluşturmamak için isolate() kullanın
  • isolate() içindeki tepkisel değer değişirse, hiçbir şey olmaz
x <- reactive({
    y() * isolate({ input$num1 }) * input$num2
})
x <- reactive({
    y() * isolate({ input$num1 * input$num2 })
})
Vaka Çalışmaları: R ile Shiny Kullanarak Web Uygulamaları Geliştirme

Her şeyi izole etme

  • Bazen tüm tepkiselleri izole etmek istersiniz

    x <- reactive({
        isolate({
            y() * input$num1 * input$num2
        })
    })
    
  • x'i talep üzerine yeniden tetiklemenin bir yoluna ihtiyaç var

Vaka Çalışmaları: R ile Shiny Kullanarak Web Uygulamaları Geliştirme

Action button'lar

actionButton(inputId, label, ...)

chapter4_4_fine_tune_the_activity.025.png

  • Yalnızca tek, basit etkileşim: tıklama
  • Butonun değeri tıklanma sayısıdır
# Bir butona iki kez tıkladıktan sonra
str(input$button)
int 2
Vaka Çalışmaları: R ile Shiny Kullanarak Web Uygulamaları Geliştirme

Tepkiselliği tetikleyici olarak action button'lar

  • Sunucuda buton girişine erişmek tepkiselliği tetikler

  • Butonu arayüze ekleyin

    actionButton(inputId = "calculate_x", label = "Calculate x!")
    
  • Bağımlılık olması için butona erişin

    x <- reactive({
        input$calculate_x
    
        isolate({
            y() * input$num1 * input$num2
        })
    })
    
Vaka Çalışmaları: R ile Shiny Kullanarak Web Uygulamaları Geliştirme

Hadi pratik yapalım!

Vaka Çalışmaları: R ile Shiny Kullanarak Web Uygulamaları Geliştirme

Preparing Video For Download...