给定变量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
个查找问题,因此它们并不十分有用。
答案 0 :(得分:0)
如果所有函数都是对象toasts
的方法,那么您应该能够使用括号表示法如下:
export default (func) => toasts[func] ? toasts[func]():null;
箭头函数将返回三元运算符的结果(toasts[func]
评估它的值是否存在或null
)
如果toasts
上的某个方法与变量func
匹配,则会返回此内容。