ReactJS& Electron - Execute函数由变量:string传递

时间:2017-05-21 00:17:21

标签: javascript node.js reactjs electron

给定变量foo ='someFunc',我希望能够调用someFunc()。

有关纯javascript的相关文章正是这样做here

我似乎无法与React达成协议。

我正在做returnFuncFromString()

export default (func: string) => {
  switch (func) {
    case 'UpAvlToast': return toasts.UpAvlToast();
    case 'UpRcvdToast': return toasts.UpRcvdToast();
    default:
      return null;
  }
};

但是在一些地图之后,这将变得难以管理。它用于将消息和图标变量的常量传递给 toastr 组件。拥有数百个预先配置的对并不奇怪,所以我希望有更多动态的东西。

在java和纯javascript中也存在类似的问题,但由于主要和渲染线程的电子分叉中涉及window个查找问题,因此它们并不十分有用。

1 个答案:

答案 0 :(得分:0)

如果所有函数都是对象toasts的方法,那么您应该能够使用括号表示法如下:

export default (func) => toasts[func] ? toasts[func]():null;

箭头函数将返回三元运算符的结果(toasts[func]评估它的值是否存在或null

如果toasts上的某个方法与变量func匹配,则会返回此内容。