回答
有一個閃亮的「反應日誌可視化」內置閃亮。它逐漸建立一個圖表,顯示各個反應節點如何相互依賴。運行後,其輸出是這樣的:在使用此工具
說明可以在這裏找到:Reactive Log Visualizer
這是我對這個工具的注意事項:
- 已啓用在shinyApp調用之前插入
options(shiny.reactlog = TRUE)
行 - 它會記錄節點如何激活對方的日誌。
- 日誌觀察器然後可以用
Ctrl-F3
(或Command-F3
蘋果) - 啓用有可手動覆蓋的節點座標製圖。當顯示大量節點以防止線路相互交叉時,這可能是具有挑戰性的。
- 然後,您可以使用箭頭鍵在日誌中移回(基本上您正在日誌中移動)。
- 這裏解釋了被動符號:Shiny Reactivity Overview
- 它暴露了很多對用戶不可見的反應活動,因此可能會引起混淆。
- 它不適用於大型Shiny應用程序 - 此工具的許多方面根本無法擴展。
這個答案也是非常有用的,thx。由於上面提到的警告,看來shinyTester會錯過一些事件。反應日誌可視化工具記錄一切,幾乎太多:) –
謝謝。當我解決它時,會做靜態與動態閃亮節點分析器的優缺點列表。 –
感謝您的概述!一個小的評論,對於「閃亮的反應性概述」,我想這個鏈接是不存在的。 – BigDataScientist
反應式日誌可視化器是一個功能強大的工具,但不幸的是,無法像@Mike Wise指出的那樣在較大的應用程序中進行擴展。前一段時間,我閱讀了一些有趣的想法來改進rstudio/shiny#1846和rstudio/shiny#1532的調試體驗,並開始探索實現它們的方法。
經過磕磕絆絆(summary)後,我發現最好的方法是解析原始的反應日誌並從中構建一個依賴關係圖。
包裝在https://github.com/glin/reactlog。這兩個主要特點是:
顯示觸發失效
observe({
reactlog::traceInvalidation()
rx()
})
4: observe({
reactlog::traceInvalidation()
rx()
})
3: rx [<text>#7]
2: val => num 10
1: observe(val(10))
,並在樹視圖
observe({
reactlog::listDependencies()
rxA() + rxB() + rxAB()
}, label = "obs")
obs*
+-- rxA*
| `-- valA*
+-- rxB
| `-- valB
`-- rxAB*
+-- valA*
`-- valB
上市活性依賴調用堆棧
樹視圖可能對查看多個依賴關係是否失效特別有用(星號表示失效或更改)。
輝煌。工作很好。 –
- 1. 閃亮應用程序的反應更新 - 單向依賴
- 2. 依賴閃亮的物體
- 3. WPF - 節點式的依賴從深樹
- 4. ř閃亮,反應性表達
- 5. rmarkdown網站和HTML依賴關係中的閃亮應用
- 6. 創建反應selectInput - 與閃亮的flexdashboard
- 7. 如何聚合閃亮的反應表?
- 8. 嵌入反應生成的URL閃亮
- 9. ggiraph情節移入閃亮的應用
- 10. SBT依賴樹
- 11. 來自rhandsontable數據庫的反應性閃亮對象
- 12. ř閃亮:dygraphs系列反應以`date_window`
- 13. 閃亮的預測情節
- 14. R依賴於另一個selectInput的閃亮selectInput
- 15. 閃閃發亮的反應性 - 如何進行輸入和創建陣列
- 16. 使用傳遞性依賴/依賴樹安裝第三方庫?
- 17. 閃亮:「位數」不反應性上下文
- 18. 構建依賴樹
- 19. Xpath的選擇節點依賴屬性的XSL轉換
- 20. [R閃亮的TabPanel點擊
- 21. 誤差與依賴的反應母語
- 22. 錯誤安裝節點薩斯依賴
- 23. 節點安裝依賴錯誤
- 24. 節點js依賴for Angular 2.4.8
- 25. 節點依賴停止工作
- 26. 整套反應函數的閃亮應用進度條
- 27. RequireJS在節點(與use.js如)不使用插件依賴性
- 28. 在點擊至R閃亮D3.js樹通node.name
- 29. 從browser.js刪除反應JSX依賴項
- 30. 在反應中加載jquery依賴庫
我喜歡那個包,不知道它。將在這些日子中的一件大事上嘗試一下。 –
如果您有很多節點並且想要仔細分析並靜態分析,這可能會更好。我在下面發佈的內置可視化工具非常具有啓發性,因爲您可以瞭解依賴關係是如何動態構建和跟蹤的 - 這是靜態工具無法真正捕獲的。但是它也很容易混淆。 –
你是對的Mike,他們可能應該同時使用。我不知道「反應日誌可視化器」。關於閃亮應用程序的「大小」,如果您可以(添加)「ShinyHierachy()」中的功能,使您可以過濾部分閃亮的應用程序,以便控制圖表的大小,這可能會很有趣。 – BigDataScientist