当前位置:  开发笔记 > 编程语言 > 正文

无功功能参数

如何解决《无功功能参数》经验,为你挑选了1个好方法。

我的目标是在R中创建一个反应性闪亮函数.有多个输出(例如表)可以绑定到类似的函数.但是我需要函数来响应某个参数,特定于一个表.这是一些简单的示例代码,它不起作用,但它使我的想法清晰 - 我希望:

output$tableOne <- DT::renderDataTable({
  getData(foo)
})

getData <- reactive(function(funParameter){
  corrStartDate <- input$StartDate
  corrEndDate <- input$EndDate

  return(someData(corrStartDate, corrEndDate, funParameter))
})

在所有表中(如果有多个表)我不想显示具有不同基本参数的数据(getData(x,y,foo)).所以第二个表可以使用"getData(x,y,bar)".我不想每次为另一个表写相同的函数.

上述解决方案无效,因为无功功能不支持参数.

你怎么解决这个问题?



1> Chris..:

这应该工作:

getData <- eventReactive(input$funParameter, {
  corrStartDate <- input$StartDate
  corrEndDate <- input$EndDate

  return(someData(corrStartDate, corrEndDate, input$funParameter))
})

eventReactive如果预先声明的参数发生变化,则仅更新 实际上,这种反应不会触发,如果input$StartDateinput$EndDate改变.

如果这不是您想要的,那么正常的无功功能应该起作用.即:

getData <- reactive({

  funParameter <- input$funParameter
  corrStartDate <- input$StartDate
  corrEndDate <- input$EndDate

  return(someData(corrStartDate, corrEndDate, funParameter))
})

如果任何输入改变,将触发

推荐阅读
围脖上的博博_771
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有