반응성 미세 조정

사례 연구: R의 Shiny로 웹 애플리케이션 만들기

Dean Attali

Shiny Consultant

반응성 복습

  • reactive()input$는 반응형입니다
  • 반응형 변수에 의존하는 코드는 의존성이 바뀌면 다시 실행됩니다
  • 반응형 값을 접근하면 의존성이 됩니다
x <- reactive({
    y() * input$num1 * input$num2
})
사례 연구: R의 Shiny로 웹 애플리케이션 만들기

isolate

  • 반응형 의존성을 만들지 않으려면 isolate() 사용
  • isolate() 내부의 반응형 값이 바뀌어도 아무 일도 일어나지 않습니다
x <- reactive({
    y() * isolate({ input$num1 }) * input$num2
})
x <- reactive({
    y() * isolate({ input$num1 * input$num2 })
})
사례 연구: R의 Shiny로 웹 애플리케이션 만들기

모두 격리하기

  • 때로는 모든 반응형을 격리하고 싶습니다

    x <- reactive({
        isolate({
            y() * input$num1 * input$num2
        })
    })
    
  • x를 필요할 때 다시 실행할 트리거가 필요합니다

사례 연구: R의 Shiny로 웹 애플리케이션 만들기

액션 버튼

actionButton(inputId, label, ...)

chapter4_4_fine_tune_the_activity.025.png

  • 상호작용은 하나: 클릭
  • 버튼 값은 클릭 횟수입니다
# 버튼을 두 번 클릭한 후
str(input$button)
int 2
사례 연구: R의 Shiny로 웹 애플리케이션 만들기

반응성 트리거로서의 액션 버튼

  • 서버에서 버튼 입력값에 접근하면 반응성이 트리거됩니다

  • UI에 버튼 추가

    actionButton(inputId = "calculate_x", label = "Calculate x!")
    
  • 버튼을 참조해 의존성으로 만듭니다

    x <- reactive({
        input$calculate_x
    
        isolate({
            y() * input$num1 * input$num2
        })
    })
    
사례 연구: R의 Shiny로 웹 애플리케이션 만들기

연습해 봅시다!

사례 연구: R의 Shiny로 웹 애플리케이션 만들기

Preparing Video For Download...