我在react js项目中使用FontawesomeIcon,图标名称来自数据库,我想从@fortawesome/free-solid-svg-icons动态导入来自数据库的图标
import React, { Component } from "react";
import { FontAwesomeIcon } from "@fortawesome/react-fontawesome";
import {faImage} from "@fortawesome/free-solid-svg-icons";
export class Features extends Component {
render() {
return (
<div id="features" className="text-center">
<div className="container-fluid">
<div className="features-listing">
{this.props.data.map((item, index) => (
<div key={`${index}`}>
{" "}
<FontAwesomeIcon icon={item.icon} />
<h3>{item.title}</h3>
</div>
))}
</div>
</div>
</div>
);
}
}
export default Features;
5条答案
按热度按时间mlnl4t2r1#
在App.js中,您可以导入所有图标,如this post中所示,如下所示:
然后,在组件内部,仅导入FontAwesomeIcon并使用它们:
jfgube3f2#
其实有一个更好的方法,不用迭代所有图标(@Andrei Rosu的解决方案),可以导出整个brand和solid包:
并使用它们:
vkc1a9a23#
这可以是做没有输入所有的图标使用react的动态输入.仅仅替换这输入字符串与任何动态变量你需要.
qf9go6mv4#
我不认为有任何必要导入所有图标。您可以在
app.js
中导入一些图标,如:然后像这样使用它:
或者作为 prop 动态用于任何组件(如带图标的按钮):
c0vxltue5#
只需将
Fontawesome
CDN添加到您的HTML Header
并使用您想要的任何图标,在react中,它将是这样:
Object.ico
应该是包含图标名称的字符串,如far fa-xyz