Källa vs. ledare vs. slutpunkt
Det som driver Shiny är reaktivitet. Som du lärde dig i den här lektionen finns det tre typer av reaktiva komponenter i en Shiny-app.
- Reaktiv källa: Användarindata som vanligtvis kommer via ett webbläsargränssnitt.
- Reaktiv ledare: En reaktiv komponent mellan en källa och en slutpunkt, som vanligtvis används för att kapsla in tunga beräkningar.
- Reaktiv slutpunkt: Något som visas i användarens webbläsarfönster, till exempel ett diagram eller en tabell med värden.
ui <- fluidPage(
titlePanel('BMI Calculator'),
theme = shinythemes::shinytheme('cosmo'),
sidebarLayout(
sidebarPanel(
numericInput('height', 'Enter your height in meters', 1.5, 1, 2),
numericInput('weight', 'Enter your weight in Kilograms', 60, 45, 120)
),
mainPanel(
textOutput("bmi"),
textOutput("bmi_range")
)
)
)
server <- function(input, output, session) {
rval_bmi <- reactive({
input$weight/(input$height^2)
})
output$bmi <- renderText({
bmi <- rval_bmi()
paste("Your BMI is", round(bmi, 1))
})
output$bmi_range <- renderText({
bmi <- rval_bmi()
health_status <- cut(bmi,
breaks = c(0, 18.5, 24.9, 29.9, 40),
labels = c('underweight', 'healthy', 'overweight', 'obese')
)
paste("You are", health_status)
})
}
shinyApp(ui, server)
I den här övningen får du en uppsättning reaktiva komponenter. Klassificera var och en som en reaktiv källa, ledare eller slutpunkt.
Den här övningen är en del av kursen
Bygg webbapplikationer med Shiny i R
Interaktiv övning med praktiskt arbete
Gör teori till handling med en av våra interaktiva övningar
Starta övningen