如何将Rendering functions分成不同的文件?
例如,
我在服务器中有这个.R,
shinyServer(function(input, output, session) {
output$text <- renderUI({...})
output$annotations <- renderDataTable({...})
output$plot <- renderPlot({...})
}))
我可以将output$text
,output$annotations
和output$plot
放入单独的r档,然后将其导入吗?
我的尝试,
source('source/server/getRenderUI.R', local = TRUE)
output$text <- getRenderUI()
结果,
.getReactiveEnvironment()中的错误$ currentContext():操作不是 允许没有活跃的反应上下文。 (你试图做点什么 只能在反应性表达或观察者内部完成。)
答案 0 :(得分:2)
我认为你不需要致电getRenderUI()
,你可以试试这个
In getRenderUI.R
output$text <- renderUI({...})
In server.R
shinyServer(function(input, output, session) {
source('...../getRenderUI.R', local = TRUE)$value
}))
对我来说,这很有效。
注意:注意不要对输出$ xxx使用相同的名称,因为所有变量都在同一范围内