输入和反应上下文
Inputs and reactive context
我正在构建一个shinyApp,但是从我开始工作以来,有一些事情我没有弄清楚。我想知道我们如何在服务器函数中使用输入变量而不将它们放入 renderSomething...
例如,这是我在服务器函数中的一小部分代码:
server <- function(input,output){
output$text <- renderText({"My text"})
updating <- reactive( {if (input$nbenfants==0){
updateNumericInput(session,"n2",value=0)
updateNumericInput(session,"n3",value=0)
updateNumericInput(session,"n4",value=0)
updateNumericInput(session,"n5",value=0)
updateNumericInput(session,"n6",value=0)
updateNumericInput(session,"n7",value=0)
updateNumericInput(session,"n8",value=0)
}})
如果条件 input$nbenfants==0 为真,我想更新一些参数。但我不知道如何 "stock" 结果?当我尝试在 (updating()) 之后调用该函数时,R returns 出现错误:
.getReactiveEnvironment()$currentContext() 错误:
没有活动的反应上下文不允许操作。 (你试图做一些只能从反应式表达式或观察者内部完成的事情。)
错误:[on_request_read] 连接被对等方重置
错误:[on_request_read] 连接被 peer
重置
我认为你应该在 input$nbenfant 值改变时使用 observeEvent 来行动:
server <- function(input,output){
output$text <- renderText({"My text"})
observeEvent(input$nbenfant,{
if(input$nbenfant ==0) {
updateNumericInput(session,"n2",value=0)
updateNumericInput(session,"n3",value=0)
updateNumericInput(session,"n4",value=0)
updateNumericInput(session,"n5",value=0)
updateNumericInput(session,"n6",value=0)
updateNumericInput(session,"n7",value=0)
updateNumericInput(session,"n8",value=0)
}})
希望有用
戈塔维亚诺尼
我正在构建一个shinyApp,但是从我开始工作以来,有一些事情我没有弄清楚。我想知道我们如何在服务器函数中使用输入变量而不将它们放入 renderSomething...
例如,这是我在服务器函数中的一小部分代码:
server <- function(input,output){
output$text <- renderText({"My text"})
updating <- reactive( {if (input$nbenfants==0){
updateNumericInput(session,"n2",value=0)
updateNumericInput(session,"n3",value=0)
updateNumericInput(session,"n4",value=0)
updateNumericInput(session,"n5",value=0)
updateNumericInput(session,"n6",value=0)
updateNumericInput(session,"n7",value=0)
updateNumericInput(session,"n8",value=0)
}})
如果条件 input$nbenfants==0 为真,我想更新一些参数。但我不知道如何 "stock" 结果?当我尝试在 (updating()) 之后调用该函数时,R returns 出现错误:
.getReactiveEnvironment()$currentContext() 错误: 没有活动的反应上下文不允许操作。 (你试图做一些只能从反应式表达式或观察者内部完成的事情。) 错误:[on_request_read] 连接被对等方重置 错误:[on_request_read] 连接被 peer
重置我认为你应该在 input$nbenfant 值改变时使用 observeEvent 来行动:
server <- function(input,output){
output$text <- renderText({"My text"})
observeEvent(input$nbenfant,{
if(input$nbenfant ==0) {
updateNumericInput(session,"n2",value=0)
updateNumericInput(session,"n3",value=0)
updateNumericInput(session,"n4",value=0)
updateNumericInput(session,"n5",value=0)
updateNumericInput(session,"n6",value=0)
updateNumericInput(session,"n7",value=0)
updateNumericInput(session,"n8",value=0)
}})
希望有用
戈塔维亚诺尼