Skip to content

Latest commit

ย 

History

History
62 lines (57 loc) ยท 1.16 KB

[20200905]_jsx.md

File metadata and controls

62 lines (57 loc) ยท 1.16 KB

JSX

  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์˜ ํ™•์žฅ ๋ฌธ๋ฒ•
  • HTML ๊ฐ™์ด ๋ณด์ด์ง€๋งŒ JavaScript
  • ๋ฆฌ์•กํŠธ ์ปดํฌ๋„ŒํŠธ ํŒŒ์ผ์—์„œ XML ํ˜•ํƒœ๋กœ ์ฝ”๋“œ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด babel์ด ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ๋กœ ๋ณ€ํ™˜

JSX

const Block = () => {
  return (
      <div>
        <p>hello, world!</p>
      </div>
  );
};

JSX -> JavaScript

const Block = () => {
  return React.createElement("div", null, 
          React.createElement("p", null, "hello, world!"));
};

์žฅ์ 

  • ์ผ๋ฐ˜ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ์— ๋น„ํ•ด JSX๊ฐ€ ๋” ๋ณด๊ธฐ ์‰ฝ๊ณ  ์ง๊ด€์ ์ด๋‹ค.
  • ์ปดํฌ๋„ŒํŠธ๋ฅผ HTML์ฒ˜๋Ÿผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋‹ค.
return <App/>;

๋ฌธ๋ฒ•

  • ์—ฌ๋Ÿฌ ์š”์†Œ๊ฐ€ ์žˆ๋‹ค๋ฉด ๋ถ€๋ชจ ์š”์†Œ๋กœ ํ•œ ๋ฒˆ ๊ฐ์‹ธ์•ผ ํ•œ๋‹ค.
  • ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ํ‘œํ˜„์‹์„ ์‚ฌ์šฉํ•  ๋•Œ์—๋Š” ์ฝ”๋“œ๋ฅผ {}๋กœ ๊ฐ์‹ผ๋‹ค.
function onClick() {
  alert("ํด๋ฆญ");
}

const App = () => {
  return (
    <div>
      <p onClick={onclick}>ํด๋ฆญ</p>
    </div>
  );
};
  • if๋ฌธ ๋Œ€์‹  ์‚ผํ•ญ ์—ฐ์‚ฐ์ž
const App = ({ isEdit }) => {
  return (
    <div>
      <button>{isEdit ? '์ˆ˜์ •' : '๋“ฑ๋ก'}</button>
    </div>
  );
};
  • class ๋Œ€์‹  className
  • ์ฃผ์„
{/* ์ฃผ์„ */}