- const h1 = <h1>Hello world</h1>;
→html 혹은 js 처럼 보이지만 js 파일 안에서 작동하는 jsx문법이다
- const panda = <imgsrc='images/panda.jpg'alt='panda'width='500px'height='500px'/>;
→ html문법처럼 요소를 가질 수 있다.
가독성을 위해서 줄바꿈을 해 주어야하고, 여러줄의 경우에는 ()안에 넣어주어야 한다.
jsx표현식의 첫 번째 여는 태그와 마지막 닫는 태그는 동일한 jsx요소에 속해야 한다 (첫번 째 코드는 작동을 하지만 두번 째 코드는 작동하지 않는다)
3. 랜더링 방법
랜더링 표현식을 넣어주어야 화면에 표시된다.
ReactDOM.render()는 제일 많이 사용되는 jsx를 랜더링하는 방법이다. ()의 첫번째 요소로는 꼭 jsx의 표현식 또는 jsx표현식으로 평가되는 변수를 써야하고 두번째 요소에는 html의 어디 부분에 코드를 넣어줄지를 적는다.
4. class vs className
JSX는 주로 HTML과 같은 문법을 쓰지만, 속성으로 class대신 className을 써준다
5. Self-Closing tag
HTML에서는 self-closing tag에 “/”를 적어도 안적어도 되지만 JSX에서는 꼭 적어 주어야 한다.
6. 계산식
{}를 써 주지 않으면 텍스트로 인식한다
7. 변수
{}를 사용하면 밖에 선언된 변수에도 접근 할 수 있다
8. 조건문
JSX에서는 조건문으로 삼항연산자를 사용한다
A ? b: c A가 true라면 b, 아니라면 c를 실행한다
9. Conditionals: &&
&&의 왼쪽에 있는 식이 true일 때, &&의 오른쪽에 있는 식이 랜더 된다.
10. map()
위의 코드는 배열 Strings를 li의 새로운 배열로 반환한다.
11. Keys
JSX에서 list를 만들려면 keys가 필요하다.
key는 JSX 속성의 이름이다. 속성의 값은 고유해야 한다. html에서의 id 속성과 비슷하다.(꼭 사용해야 하는건 아니다)