如何通过名称动态创建图标?

How to create an icon dinamically by its name?

我正在动态生成菜单,图标名称是可能的配置之一:但是如何在不显式导入的情况下动态调用图标?

let { name, icon } = menuEntry;
<ListItem primaryText={name} leftIcon={what here?} />

在我的一个项目中,我有以下内容:

import * as Icons from 'material-ui/svg-icons';

然后我可以像这样使用任何我想要的图标:

let Icon = Icons[iconName];
return (
  <Icon />
);

iconName 需要是有效的图标名称。 在您的示例中,它看起来像这样:

let { name, icon } = menuEntry;
<ListItem primaryText={name} leftIcon={Icons[icon]} />