๐โโ๏ธReact์ 3๊ฐ์ง ํน์ง์ ๋ํด์ ์ดํดํ๊ณ , ์ค๋ช ํ ์ ์๋ค.
์ ์ธํ
ํ ํ์ด์ง์ ๋ณด์ฌ์ฃผ๊ธฐ์ํด์ HTML,CSS,JS๋ก ๋๋์ด ์ ๊ธฐ๋ณด๋ค
ํ๋์ ํ์ผ์ ๋ช
์์ ์ผ๋ก ์์ฑํ ์ ์๊ฒ JSX๋ฅผ ํ์ฉํ ์ ์ธํ ํ๋ก๊ทธ๋๋ฐ์ ์งํฅํ๋ค.
์ปดํฌ๋ํธ ๊ธฐ๋ฐ
ํ๋์ ๊ธฐ๋ฅ ๊ตฌํ์ ์ํด ์ฌ๋ฌ์ฝ๋๋ฅผ ๋ฌถ์ด๋ ์ปดํฌ๋ํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ๊ฐ๋ฐํ๋ค.
์ปดํฌ๋ํธ๋ก ๋ถ๋ฆฌํ๋ฉด ์๋ก ๋
๋ฆฝ์ ์ด๊ณ ์ฌ์ฌ์ฉ์ด ๊ฐ๋ฅํด์ ๊ธฐ๋ฅ ์์ฒด์ ์ง์คํด์ ๊ฐ๋ฐํ ์ ์๋ค.
๋ฒ์ฉ์ฑ (๋ค์ํ ๊ณณ์ ํ์ฉํ ์ ์๋ค)
๐โโ๏ธJSX๊ฐ ์ ๋ช ์์ ์ธ์ง ์ดํดํ๊ณ , ๋ฐ๋ฅด๊ฒ ์์ฑํ ์ ์๋ค.
๐โโ๏ธReact ์ปดํฌ๋ํธ(React Component)์ ํ์์ฑ์ ๋ํด์ ์ดํดํ๊ณ , ์ค๋ช ํ ์ ์๋ค.
์ปดํฌ๋ํธ๋ ๊ฐ์์ ๊ธฐ๋ฅ์ ๊ฐ์ง๊ณ ์์ผ๋ฉฐ, UI์ ํ ๋ถ๋ถ์ ๋งก๊ณ ์๊ธฐ๋๋ฌธ์ ์ํ๋ ์์ ์ฌํญ์ ๋ง์ถ์ด ๊ธฐ์กด ์ปดํฌ๋ํธ์ ์์น๋ง ์์ ํด์ฃผ๋ฉด ๋๋ค. ์ ์ง,๋ณด์ํ๊ธฐ๊ฐ ์์ํ๋ค.
๐โโ๏ธcreate-react-app ์ผ๋ก ๊ฐ๋จํ ๊ฐ๋ฐ์ฉ React ์ฑ์ ์คํํ ์ ์๋ค.
let langs = ["JavaScript", "HTML", "Python"];
let viewLangs = () => {
return langs.map((it) => {
return <p>{it}</p>;
});
};
return (
<div>
{viewLangs()}
</div>
);
viewLang
๊ฐ ํจ์ํํ์์ผ๋ก ์ ์ธ๋์ด์๊ธฐ ๋๋ฌธ์ ()๋ฅผ ๋ถ์ฌ์ ํธ์ถ์์ผ์ผ ์๋ํ๋ค.
viewLang
์ ํจ์ ์์ฒด์ด๋ค.
font-awesome์์ ์์ด์ฝ์ด๋ฆ far๋ fas์ฐจ์ด๋ ์์ด ์ฑ์์ง๋๋ , ์ค์ ์ด๋๋์ ์ฐจ์ด์ด๋ค.
๋ณดํต useState๋ react์ ๋ฐ์ดํฐํ๋ฆ๋๋ฌธ์ ์ต์์ ์ปดํฌ๋ํธ์ ์ค๋ค.
iํ๊ทธ๊ฐ ์๋ FontAwesomeIcon ํ๊ทธ๋ฅผ ์ฐ๋ฉด ๋๋ค ๊ฐ์ className์ ์ค๋ css๊ฐ ์๋จน์ ์ ์๋ค.