如何在与 map() 的反应中使用很棒的字体

how to use font awesome in react with map()

我是 RectJs 的新手,所以这可能是一个非常初学者的问题,但是,我有一个名为 MyArr 的对象数组,如下所示:

const MyArr =[
   {picture:'faUser' ,  text:'something'},
   {picture:'faUser' ,  text:'something'} ]
export default MyArr

我想在另一个组件中使用“图片”的值来声明应该显示#FontAwesome 中的哪个图标。 所以我制作了另一个组件,在其中我将对象数组作为道具值传递给目的地,就像这样

import React, { Component } from 'react'
import MyArr from './MyArr'
import ShowFontAwesome from './ShowFontAwesome'

 class Body extends Component {

  render() {
   return(
        <div>
          <ShowFontAwesome myValue={MyArr} />          
        </div>
)
}}
export default Body

所以名为“ShowFontAwesome”的组件是我要显示结果的地方;这是组件的代码

import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
import * as FontAwesome from '@fortawesome/free-solid-svg-icons';
import React, { Component } from 'react'

 class ShowFontAwesome extends Component {
   constructor(props){
     super(props);}
render() {
    return (
<div>
{this.props.myValue.map(
          (myValues, index)=>{
            return(
<div>
<FontAwesomeIcon icon={`FontAwesome.${myValues.picture}`} />
</div>
)})
</div>
)}}
export default ShowFontAwesome

最后,它在控制台中记录了这个错误 ** 找不到图标 {prefix: 'fas', iconName: 'FontAwesome.faUser'} **

更新:

首先将其添加到您的组件中:

import {fas} from '@fortawesome/free-solid-svg-icons'
import { library } from "@fortawesome/fontawesome-svg-core";

library.add(fas);

并将图片值从“faUser”更改为“user”,因此您的数组将如下所示:

const MyArr =[
   {picture:'user' ,  text:'something'},
   {picture:'user' ,  text:'something'} ]
export default MyArr

然后像这样使用它:

<FontAwesomeIcon icon={myValues.picture} />