I have the following problem. I want to fetch font-awesome icon from JSON file to react component but there is showing results in the console but not in UI. My JSON file looks like this:
carFeatures.json
[
{
"_id": 101,
"name": "Results Driven",
"desc": "Sed ut perspiciatis unde om nis natus error sit volup atem accusant dolorem que laudantium. Totam aperiam, eaque ipsa quae ai.",
"icon": "faChartColumn"
},
{
"_id": 102,
"name": "Proven Technology",
"desc": "Sed ut perspiciatis unde om nis natus error sit volup atem accusant dolorem que laudantium. Totam aperiam, eaque ipsa quae ai.",
"icon": "faRoad"
},
{
"_id": 103,
"name": "Winning Culture",
"desc": "Sed ut perspiciatis unde om nis natus error sit volup atem accusant dolorem que laudantium. Totam aperiam, eaque ipsa quae ai.",
"icon": "faFlagCheckered"
},
{
"_id": 104,
"name": "Top Performance",
"desc": "Sed ut perspiciatis unde om nis natus error sit volup atem accusant dolorem que laudantium. Totam aperiam, eaque ipsa quae ai.",
"icon": "faGaugeHigh"
}
]
I have the following problem. I want to fetch font-awesome icon from JSON file to react component but there is showing results in the console but not in UI. My React component where fetching the data looks like this:
Features.js
import React, { useEffect, useState } from 'react';
import Feature from '../Feature/Feature';
import { Container, Row } from 'react-bootstrap';
const Features = () => {
const [carFeatures, setCarFeatures] = useState([]);
useEffect(() => {
fetch('carFeatures.json')
.then((res) => res.json())
.then((data) => setCarFeatures(data))
.catch((err) => console.log(err));
}, []);
return (
<Container fluid>
<Row xs={1} md={2} lg={4} className="g-4">
{carFeatures.map((carFeature) => (
<Feature key={carFeature?._id} carFeature={carFeature} />
))}
</Row>
</Container>
);
};
export default Features;
Feature.js
import React from 'react';
import { FontAwesomeIcon } from '@fortawesome/react-fontawesome';
const Feature = ({ carFeature }) => {
console.log(carFeature);
return (
<div>
<FontAwesomeIcon icon={icons[carFeature?.icon]} />
<h3>{carFeature?.name}</h3>
<p>{carFeature?.desc}</p>
</div>
);
};
export default Feature;