๐Ÿ™†โ€โ™€๏ธReact์˜ 3๊ฐ€์ง€ ํŠน์ง•์— ๋Œ€ํ•ด์„œ ์ดํ•ดํ•˜๊ณ , ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ๋‹ค.

  1. ์„ ์–ธํ˜•
    ํ•œ ํŽ˜์ด์ง€์— ๋ณด์—ฌ์ฃผ๊ธฐ์œ„ํ•ด์„œ HTML,CSS,JS๋กœ ๋‚˜๋ˆ„์–ด ์ ๊ธฐ๋ณด๋‹ค
    ํ•˜๋‚˜์˜ ํŒŒ์ผ์— ๋ช…์‹œ์ ์œผ๋กœ ์ž‘์„ฑํ•  ์ˆ˜ ์žˆ๊ฒŒ JSX๋ฅผ ํ™œ์šฉํ•œ ์„ ์–ธํ˜• ํ”„๋กœ๊ทธ๋ž˜๋ฐ์„ ์ง€ํ–ฅํ•œ๋‹ค.

  2. ์ปดํฌ๋„ŒํŠธ ๊ธฐ๋ฐ˜
    ํ•˜๋‚˜์˜ ๊ธฐ๋Šฅ ๊ตฌํ˜„์„ ์œ„ํ•ด ์—ฌ๋Ÿฌ์ฝ”๋“œ๋ฅผ ๋ฌถ์–ด๋‘” ์ปดํฌ๋„ŒํŠธ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ๊ฐœ๋ฐœํ•œ๋‹ค.
    ์ปดํฌ๋„ŒํŠธ๋กœ ๋ถ„๋ฆฌํ•˜๋ฉด ์„œ๋กœ ๋…๋ฆฝ์ ์ด๊ณ  ์žฌ์‚ฌ์šฉ์ด ๊ฐ€๋Šฅํ•ด์„œ ๊ธฐ๋Šฅ ์ž์ฒด์— ์ง‘์ค‘ํ•ด์„œ ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋‹ค.

  3. ๋ฒ”์šฉ์„ฑ (๋‹ค์–‘ํ•œ ๊ณณ์— ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค)

๐Ÿ™†โ€โ™€๏ธ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๊ฐ€ ์•ˆ๋จน์„ ์ˆ˜ ์žˆ๋‹ค.

profile
DONE is better than PERFECT

0๊ฐœ์˜ ๋Œ“๊ธ€

๊ด€๋ จ ์ฑ„์šฉ ์ •๋ณด

Powered by GraphCDN, the GraphQL CDN