- 자바스크립트에 XML을 추가한 확장 문법 - 브라우저에서 실행되기 전에 코드가 번들링 되는 과정에서 바벨을 사용하여 일반 자바스크립트 형태의 코드로 변환
// JSX로 작성
function App(){
return{
<div>
Hello <b> world </b>
</div>
);
}
// 변환된 코드
function App(){
return React.createElement("div", null, "Hello", React.createElement("b", null, "world"));
}
- JSX 사용 시 HTML을 작성하듯이 활용할 수 있으므로 가독성이 높아지고 편하게 UI 렌더링 가능
JSX 문법
- 컴포넌트에 여러 요소가 있다면 반드시 부모 요소 하나로 감싸야함
// 부모 태그로 감싸지 않을 시
function App() {
return (
<h1> test 1</h1>
<h2> test 2</h2>
);
}
export default App;
// 아래와 같은 에러 발생
`Parsing error: Adjacent JSX elements must be wrapped in an enclosing tag.
Did you want a JSX fragment <>...</>?`
// <div> 태그로 감싸면 정상 작동
function App() {
return (
<div>
<h1> test 1</h1>
<h2> test 2</h2>
</div>
);
}
export default App;
- 자바스크립트 표현식을 사용할 수 있음
function App() {
const name = "React"
return (
<div>
<h1> {name}</h1>
</div>
);
}
export default App;
댓글