๐Ÿค” TIL(Today I Learned)

TIL(20210708) - JSX๊ทœ์น™

Seungjae Lee 2021. 7. 8. 22:47

๐ŸŽ  Daily

  • JSX๋ฌธ๋ฒ• ํ•™์Šต ๋ฐ ํ™œ์šฉ, map์„ ์ด์šฉํ•œ ๋ฐ˜๋ณต ํ™œ์šฉ, React ํ•™์Šต
  • ๊ฐ„๋‹จํ•œ React ์•ฑ ๋งŒ๋“ค๊ธฐ(JSX ๋ฌธ๋ฒ•์„ ์‚ฌ์šฉ)

๐Ÿค”  Learned

JSX ๊ทœ์น™

- ํ•˜๋‚˜์˜ ์—˜๋ฆฌ๋จผํŠธ ์•ˆ์— ๋ชจ๋“  ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ํฌํ•จํ•œ๋‹ค.

 

- ์—˜๋ฆฌ๋จผํŠธ ํด๋ž˜์Šค ์‚ฌ์šฉ ์‹œ, className ์œผ๋กœ ํ‘œ๊ธฐํ•œ๋‹ค.

 

- JavaScript ํ‘œํ˜„์‹ ์‚ฌ์šฉ ์‹œ, ์ค‘๊ด„ํ˜ธ({}) ์ด์šฉ


- ์‚ฌ์šฉ์ž ์ •์˜ ์ปดํฌ๋„ŒํŠธ๋Š” ๋Œ€๋ฌธ์ž๋กœ ์‹œ์ž‘

 

- ์กฐ๊ฑด๋ถ€ ๋ Œ๋”๋ง์—๋Š” ์‚ผํ•ญ์—ฐ์‚ฐ์ž ์‚ฌ์šฉ


- ์—ฌ๋Ÿฌ ๊ฐœ์˜ HTML ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ํ‘œ์‹œํ•  ๋•Œ, map() ํ•จ์ˆ˜๋ฅผ ์ด์šฉ


React ์—์„œ map()์„ ์‚ฌ์šฉํ•ด์„œ ์—˜๋ฆฌ๋จผํŠธ๋ฅผ ํ‘œ์‹œํ•˜๋Š” ๋ถ€๋ถ„์€ ์ •๋ง ์ค‘์š”ํ•˜๋‹ค!

const Tweets = () => {
  return (
    <ul className="tweets">
      {dummyTweets.map((tweet) => {
        const isParkHacker = tweet.username === 'parkhacker';
        const tweetUserNameClass = isParkHacker
          ? 'tweet__username tweet__username--purple'
          : 'tweet__username';
        return (
          <li className="tweet" key={tweet.id}>
            <div className="tweet__profile">
              <img src={tweet.picture} />
            </div>
            <div className="tweet__content">
              <div className="tweet__userInfo">
                <span className={tweetUserNameClass}>{tweet.username}</span>
                <span className="tweet__createdAt">{tweet.createdAt}</span>
              </div>
              <div className="tweet__message">{tweet.content}</div>
            </div>
          </li>
        );
      })}
    </ul>
  );
};

 

๐Ÿง 

๋ฐฐ์šด ๊ฒƒ๋“ค์ด ์ ์  ๋Š˜์–ด๊ฐˆ์ˆ˜๋ก ์ •๋ฆฌํ•˜๊ธฐ๊ฐ€ ํž˜๋“ค์–ด์ง„๋‹ค
์›ฌ๋งŒํ•˜๋ฉด ํ•˜๋ฃจ ์•ˆ์— ๋๋‚ด๊ณ  ์‹ถ์€๋ฐ ์กฐ๊ธˆ์”ฉ ๋ฐ€๋ฆฌ๋Š” ๊ฒŒ ์žˆ๋‹ค ๋ณด๋‹ˆ
์–‘์ด ์ ์  ๋ฐฉ๋Œ€ํ•ด์ง€๋„ค... ํ”ผ๊ณคํ•ด๋„ ํ•˜๊ณ  ์ž์ž.

๐ŸŒˆ  Tomorrow

  • React ํ•™์Šต
  • ์•Œ๊ณ ๋ฆฌ์ฆ˜  ํ’€๊ธฐ