前提・実現したいこと
Next.jsのポートフォリオを作っており、オブジェクトの要素をmapメソッドを使って、FontAwesomeIconを表示したい
発生している問題・エラーメッセージ
オブジェクトの要素をmapメソッドを使って、「Skill」という部分で、FontAwesomeIconや文字などを表示しようとしています。
他の要素は表示できたんですが、FontAwesomeIconだけうまく表示されません。
色々解決をしようとしたんですが、上手くいきませんでした。
小さなミスで申し訳ないですが、よろしくお願いします。
github
https://github.com/takoyan33/nextjs-portfolio
表示(下にスクロールして頂けると、SKill部分のFontAwesomeIconが表示されていません。)
https://nextjs-portfolio-puce.vercel.app/
該当のソースコード
//main.js import Link from 'next/link'; import Image from 'next/image'; import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; import { faHtml5, faCss3, faReact, faJs, faWordpress } from "@fortawesome/free-brands-svg-icons"; import { faGem } from "@fortawesome/free-regular-svg-icons"; import { faCamera} from "@fortawesome/free-solid-svg-icons"; import Portfolio from "./Portfolio.js" import Skill from "./Skill.js export default function Main() { const skills = [ { skill_name: 'HTML', skill_rank: '★★★★', skill_tag: '経験年数:1年半', skill_icon: 'faHtml5' }, { skill_name: 'CSS(SCSS)', skill_rank: '★★★★', skill_tag: '経験年数:1年半', skill_icon: 'faCss3' }, { skill_name: 'JavaScript(jQuery)', skill_rank: '★★★', skill_tag: '経験年数:1年', skill_icon: 'faJs' }, { skill_name: 'Ruby on Rails', skill_rank: '★★', skill_tag: '経験年数:4ヶ月', skill_icon: 'faGem' }, { skill_name: 'React/Next.js', skill_rank: '★★★', skill_tag: '経験年数:6ヶ月', skill_icon: 'faReact' }, { skill_name: 'WordPress', skill_rank: '★★★', skill_tag: '経験年数:1年', skill_icon: 'faWordpress' }, { skill_name: 'PhotoShop/Illustrator', skill_rank: '★★★', skill_tag: '経験年数:1年半', skill_icon: 'faCamera' }, ] return ( { skills.map((skill,index) => <Skill key={index} skill_name={skill.skill_name} skill_date={skill.skill_rank} skill_tag={skill.skill_tag} skill_icon={skill.skill_icon} /> ))}
JavaScript
1//Skill.js 2import { FontAwesomeIcon } from "@fortawesome/react-fontawesome"; 3import { faHtml5, faCss3, faReact, faJs, faWordpress } from "@fortawesome/free-brands-svg-icons"; 4import { faGem } from "@fortawesome/free-regular-svg-icons"; 5import { faCamera} from "@fortawesome/free-solid-svg-icons"; 6 7export default function Skill({skill_name, skill_rank, skill_tag, skill_icon}) { 8 9return ( 10 <div className="flx_el"> 11 <p className="tac"> 12 <FontAwesomeIcon icon={{skill_icon}} className="size" /> 13 </p> 14<p className="code_title">{skill_name} </p> 15<p className="code_title">{skill_rank }</p> 16<p className="code_title">{skill_tag}</p> 17 18</div> 19 20) 21 22 23
補足情報(FW/ツールのバージョンなど)
{ "private": true, "scripts": { "dev": "next dev", "build": "next build", "start": "next start" }, "dependencies": { "@fortawesome/fontawesome-svg-core": "^1.2.36", "@fortawesome/free-brands-svg-icons": "^5.15.4", "@fortawesome/free-regular-svg-icons": "^5.15.4", "@fortawesome/free-solid-svg-icons": "^5.15.4", "@fortawesome/react-fontawesome": "^0.1.16", "date-fns": "^2.11.1", "gray-matter": "^4.0.2", "next": "latest", "react": "17.0.2", "react-dom": "17.0.2", "remark": "^14.0.1", "remark-html": "^15.0.0" } }
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/31 08:25
2021/12/31 08:33 編集
2021/12/31 09:34
2021/12/31 09:47
2021/12/31 11:47