
자바스크립트 XML의 약자, XML은 HTML의 한계 극복 위한 마크업 언어.
JSX는 자바스크립트를 확장한 문법, HTML을 React에서 쉽게 쓰기 위해 사용
React는 JSX 문법을 이용해 마크업 언어와 코드의 로직을 따로 분리하지 않고 두 가지를 포함한 컴포넌트
const App = () => {
return (
<div>
<p>안녕</p>
<MyComponent text="반가워"/>
<div>바이바이</div>
</div>
)
}

const App = () => {
const a = 3;
const b = 6;
return <div>{a} + {b} = {a + b}</div>
}
class → className
class명 표기 시, className으로 작성해야함
스타일은 object로
<div className="greeting" style={{padding: 10, color: 'red'}}>
{name}님, 안녕하세요. <br/>
반가
</div>
- {{ style here }} 첫번째 중괄호는 여기서부터 js 표현을 쓰겠다. 두번째 중괄호는 js object의 시작을 나타냄
- Inline Style의 Property name은 camelCase로 적어야 함
예시 : font-size → fontSize, padding-left → paddingLeft
<br/> , <img/> , <input/><div>
<input type="text" />
<br />
</div>
기존 HTML에서는 닫는 태그를 작성하지 않아도 에러가 발생하지 않으며 <input>, <br> 같은 일부 태그의 경우 아예 닫는 태그를 생략하여도 코드를 작성해도 되었으나 JSX에서는 닫는 태그를 필수로 작성해야 함.
JSX의 원칙상 최상단 Element는 한 개만 작성이 가능하기 때문에 이를 <div> 또는 <React.Fragment>를 이용해 감싼다. 실제 렌더링 시에는 Fragment 안에 있는 내용만 출력함.<React.Fragment> 는 간단히 <>로 표기가 가능하다.