- 코드 재사용성 증가
- 코드 유지보수가 용이해짐
- 해당 페이지가 어떻게 구성되었는지 파악하기 쉬워짐
- 컴포넌트는 단일개념이 아니라 또 다른 컴포넌트를 포함
이벤트가 발생할 때마다 Virtual DOM을 만들고, 다시 그릴 때마다 실제 DOM과 비교하고 전후 상태를 비교해, 변경이 필요한 최소한의 변경사항만 실제 DOM에 반영해, 앱의 효율성과 속도를 개선할 수 있음
JavaScript Syntax Extention의 약어, 말 그대로 자바스크립트 확장 문법이다.
JSX로 작성한 코드는 실제 자바스크립트가 인식할 수 없는 문법이기에 Babel
이라는 패키지를 이용해서 변환해줘야 한다.
특징
- 모든 태그들은 하나의 부모태그로 감싸져 있어야 한다.
- 모든 태그가 셀프 클로징이 가능하다.
- 모든 property들은 camelCase로 사용해야 한다.
- 자바스크립트 동작이 가능하다.
장점
- HTML 태그를 그대로 사용하기 때문에 사용감이 익숙하다.
- HTML 마크업과 자바스크립트 로직을 같이 구현할 수 있다.
- 자바스크립트 문법을 이용해서 HTML을 생성할 수 있다. 별도의 HTML 파일이 필요하지 않다.
참고 블로그