(1) JSX란 무엇인가?

<aside> 🔥 VSCode에서 src폴더 아래의 App.js 파일을 열어봅시다.

</aside>

자, App.js 코드를 뜯어보면서 jsx에 대해 알아봅시다!


// import [패키지명] from [경로] 이 형식으로 불러와요.
import React from 'react'; 
// js 파일 뿐 아니라 이미지도 가능가능!
import logo from './logo.svg';
// css? 가능!
import './App.css';

function App() {
  return (
    <div className="App">
      <header className="App-header">
        <img src={logo} className="App-logo" alt="logo" />
        <p>
          Edit <code>src/App.js</code> and save to reload.
        </p>
        <a
          className="App-link"
          href="<https://reactjs.org>"
          target="_blank"
          rel="noopener noreferrer"
        >
          Learn React
        </a>
      </header>
    </div>
  );
}

export default App;

<aside> 👉 리액트에서는 딱 하나의 html 파일만 존재합니다. (public 폴더 아래에 있는 index.html)

</aside>

<aside> 👉 그럼 리액트에서 어떻게 뷰를 그릴까요? App.js 파일에서 보이듯, JSX 문법을 사용해서 React 요소를 만들고 DOM에 렌더링 시켜서 그립니다.

</aside>

(2) JSX 따라해보기

<aside> 🔥 개발자 도구 여는 법! 기억하고 계시죠? 개발자 도구를 열고 에러를 보는 거 잊지 마세요! (F12 혹은 Cmd +Opt + i , Ctrl + Shift + i를 눌러 개발자 도구를 열 수 있어요.)

</aside>

1. 태그는 꼭 닫아주기

App.js 파일에서 실습합니다! (오류를 내면서 해보는 거예요!)

하이라이트 된 부분은 지워주세요.

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/d37cc27f-32eb-428c-811a-4e5def9852bf/_2020-10-04__10.49.55.png

// input 태그를 닫지 않고 넣어볼거예요!
function App() {
  return (
    <div className="App">
      <input type='text'>
    </div>
  );
}

https://s3-us-west-2.amazonaws.com/secure.notion-static.com/74abe6a2-a720-4eb4-b8cc-4c3e4ba43ba7/_2020-10-04__10.52.29.png

JSX 문법에 맞지 않는다고 에러가 납니다! 아래처럼 /를 추가하고 브라우저를 새로고침 해봅시다.

<input type='text'/>