Reactivity: ผลของการใช้ isolation
หากมีตัวแปร reactive ที่ปรากฏหลายครั้งในโค้ด และต้องการให้แน่ใจว่าการเปลี่ยนแปลงค่าของมันจะไม่ทริกเกอร์การประมวลผลโค้ดใหม่ จำเป็นต้องใส่ทุกอินสแตนซ์ของตัวแปรนั้นไว้ใน isolate() นั่นหมายความว่า หากตัวแปร x อยู่ภายใน isolate() แต่ยังปรากฏอยู่นอก isolate() ด้วย มันก็จะยังทริกเกอร์ reactivity อยู่ดี
โค้ดต่อไปนี้กำหนดตัวแปร reactive ชื่อ result และคำนวณค่าโดยใช้ input สามตัว:
result <- reactive({
temp <- input$X + input$Y
isolate({
temp <- temp * input$Y * input$Z
})
temp
})
จากโค้ดด้านบน ตัวแปร reactive result จะได้รับการอัปเดตเมื่อใด?
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
กรณีศึกษา: การสร้างเว็บแอปพลิเคชันด้วย Shiny ใน R
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำจริง
เปลี่ยนทฤษฎีให้เป็นการลงมือทำด้วยแบบฝึกหัดเชิงโต้ตอบหนึ่งในของเรา
เริ่มแบบฝึกหัด