【发布时间】:2019-12-07 20:28:36
【问题描述】:
是否可以根据其他函数参数动态构建函数?
例如:
基础函数:
const someFunction = (functionName, functionParams) => {
// Function Built here
};
someFunction("colorFunction", ["red", true]);
我希望它构建类似这样的东西: 我需要将 Array 解构为单独的参数,但我不确定这有多简单?而且我不知道如何使用第一个字符串来调用函数名?
functionName(...functionParams);
在我的脑海中会这样工作:
const colorFunction = (color, bool) => {
console.log("Colour: " + color);
console.log("Bool: " + bool);
};
对此有点困惑 - 我觉得我不是一百万英里之外,但我不确定!任何帮助都会很棒,谢谢!
编辑 - 为什么?
我有一个带有触发 redux 操作的点击事件的反应组件。理想情况下,这个动作会触发一些东西到我的减速器,并异步调用这个“动态”函数。我可以使用大量 if/else 来做到这一点,但我认为这不是实现这一目标的一种非常干净的方式,如果可以以这种方式构建函数的话。
【问题讨论】:
-
您为什么想要这样做?做
colorFunction(["red", true])不是更容易吗?如果出现问题,您的自定义“函数”的语法(我将函数这个词放在引号中,因为这实际上只是一个美化的函数包装器,它不做任何事情)如果出现问题,那么在代码中的跟踪总是会更长,更烦人,而不仅仅是使用函数直接 -
先说明你要解决的问题,以便其他人能更好地理解上下文
-
@GrumpyCrouton 我有一个带有点击事件的反应组件,该事件触发一个 redux 操作。理想情况下,这个动作会触发一些东西到我的减速器,并异步调用这个“动态”函数。我可以用大量的 if/else 来做到这一点,但我认为这不是实现这一目标的一种非常干净的方式,如果可以以这种方式构建函数的话。