【发布时间】:2017-05-21 08:36:57
【问题描述】:
给定一个变量 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 中也有类似的问题,但由于主线程和渲染线程的 electron 分叉涉及window 查找问题,因此它们并没有太大帮助。
【问题讨论】:
-
既然你打电话给
toasts.<func>,为什么不叫toasts[func]()? -
我猜你想要的是
func => toasts[func] ? toasts[func]() : null" 但由于涉及到窗口查找问题"window是一个对象。您可以将相同的解决方案应用于任何其他对象。 -
谢谢大家 - 括号方法按照您的建议工作。将接受作为答案发布的那个 - 但要再次接受。
标签: javascript node.js reactjs electron