首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从变量- react中设置方框图标

从变量- react中设置方框图标
EN

Stack Overflow用户
提问于 2021-10-07 04:09:41
回答 3查看 1.4K关注 0票数 1

我正在构建一个react应用程序:

代码语言:javascript
复制
"react": "^16.0.0",

字体很棒的集成。

代码语言:javascript
复制
"@fortawesome/fontawesome-svg-core": "^1.2.36",
"@fortawesome/free-brands-svg-icons": "^5.15.4",
"@fortawesome/free-solid-svg-icons": "^5.15.4",
"@fortawesome/react-fontawesome": "^0.1.15",

在组件中,我希望在另一个JSON文件中从const中设置一个图标,但如果没有变量,则如下所示:

代码语言:javascript
复制
<FontAwesomeIcon icon={Brand_icons.faJava} size="6x" transform="shrink-6"/>

我已经导入了FontAwesomeIcon和其他类似的库:

代码语言:javascript
复制
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import * as Brand_icons from '@fortawesome/free-brands-svg-icons';

这是我的const,我想在循环中设置这些图标名:

代码语言:javascript
复制
const skills = [
  "faJava",
  "faPython",
  "faJsSquare",
  "faReact",
  "faPhp"
];

下面是我用来获得这些图标的循环:

代码语言:javascript
复制
{skills.map((skill, index) => (
  <div>
    <FontAwesomeIcon icon={Brand_icons.faJava} size="6x" transform="shrink-6"/>
  </div>
))}

我想要设置技能变量的值,而不是faJava。我怎么能这么做?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2021-10-07 04:59:58

'@fortawesome/free-brands-svg-icons'中包含所有图标的FontAwesome已经导出fab

您可以这样更改导入:

代码语言:javascript
复制
import { fab as brandIcons } from '@fortawesome/free-brands-svg-icons';

并将渲染方式更改如下:

代码语言:javascript
复制
{skills.map(skill => (
        <FontAwesomeIcon key={skill} icon={brandIcons[skill]} size="6x" transform="shrink-6" />
))}
票数 1
EN

Stack Overflow用户

发布于 2021-10-07 04:16:49

您可以使用js中的模板文字来完成上述任务。

代码语言:javascript
复制
{skills.map((skill, index) => (
  <div>
    <FontAwesomeIcon icon={`${Brand_icons}.${skill}`} size="6x" transform="shrink-6"/>
  </div>
))}
票数 1
EN

Stack Overflow用户

发布于 2021-10-07 04:52:33

如果Brand_icons是一个数组,并且您正在循环技巧,则道具图标应该等于: icon=Brand_iconsskill。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69475336

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档