BaşlayınÜcretsiz Başlayın

isolate() ile tepkileri durdur

Normalde, bir reaktif değeri okumak bile bir ilişki kurmak için yeterlidir; reaktif değerdeki bir değişiklik, çağıran ifadenin yeniden çalışmasına neden olur. isolate() işlevi, bir ifadenin bir reaktif değeri okumasına, ancak değeri değiştiğinde yeniden çalışmayı tetiklememesine olanak tanır.

Bu egzersizde, reaktif akışı durdurmak için isolate() işlevini kullanacaksın.

Bu egzersiz

R ile Shiny Kullanarak Web Uygulamaları Geliştirme

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Sunucu kodunu güncelle; böylece metin çıktısı yalnızca kullanıcı boyu veya kilosunu değiştirdiğinde güncellensin, ADI değiştiğinde güncellenmesin.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

ui <- fluidPage(
  titlePanel('BMI Calculator'),
  sidebarLayout(
    sidebarPanel(
      textInput('name', 'Enter your name'),
      numericInput('height', 'Enter your height (in m)', 1.5, 1, 2, step = 0.1),
      numericInput('weight', 'Enter your weight (in Kg)', 60, 45, 120)
    ),
    mainPanel(
      textOutput("bmi")
    )
  )
)

server <- function(input, output, session) {
  rval_bmi <- reactive({
    input$weight/(input$height^2)
  })
  output$bmi <- renderText({
    bmi <- rval_bmi()
    # MODIFY CODE BELOW: 
    # Use isolate to stop output from updating when name changes.
    paste("Hi", input$name, ". Your BMI is", round(bmi, 1))
  })
}

shinyApp(ui = ui, server = server)
Kodu Düzenle ve Çalıştır