JSX(JavaScript XML)는 JavaScript를 확장한 문법입니다.
또한 React에서 HTML 대신 사용하는 React 전용 HTML 입니다.
JSX는 파일 하나에 HTML과 JavaScript를 동시에 작성할 수 있어서 편리합니다.
다만 기존 HTML방식과 JSX방식에 작은 차이가 있습니다.
<div>
<div class="title">제목</div>
<button onClick="alert()">
버튼
</button>
</div>
기존 HTML 방식
<div>
<div className={"title"}>
제목
</div>
<button onClick={alert()}>
버튼
</button>
</div>
JSX 방식기존 HTML에서 클래스를 지정할 때 class를 사용하지만 JSX 방식에서는 className인 카멜표기법으로 사용합니다
웹브라우저는 HTML, CSS, JavaScript만 읽을 수 있습니다.
하지만 React에서 사용하도록 만들어진 HTML인 JSX으로 코딩을 하고 최종적으로 소스코드가 실행될때는 JSX가 HTML로 자동으로 변환되어 실행됩니다.
아래는 npm trends 사이트입니다.
npm은 javascript로 만들어진 도구들을 다운로드 받을 수 있는 사이트입니다.
npm trends는 npm에서 다운로드된 도구들의 다운로드 경향을 보여주는 사이트입니다.
react의 사용자가 최근들어 계속 angular, vue보다 5배 이상의 다운로드 수를 보여주고 있습니다.
2021년 7월 ~ 2022년 4월 다운로드 수React는 웹을 만드는 도구입니다.
React-Native는 모바일 앱을 만드는 도구입니다.
Electron은 React로 만들어진 웹사이트를 한글, PPT와 같은 데스크톱 프로그램에서 실행되도록 하는 도구입니다
React와 React-Native는 굉장히 비슷합니다.
따라서, React를 공부하면 React-Native는 1달 이내에 어느정도 자연스럽게 할 수 있게 됩니다.
React-Native는 크로스 플랫폼으로 하나를 만들어서 안드로이드, IOS 두 곳에 모두 배포할 수 있습니다.
React에 대한 자세한 내용을 알고 싶다면 아래의 공식 홈페이지로!!
React 공식 홈페이지
사용한 프레임워크
사용한 라이브러리
위의 이미지처럼 초기 세팅이 완료된 상태를 보일러 플레이트라고 합니다.
(회사나 팀마다 상이할 수 있습니다)
파일구조
CSS-IN-JS는 css를 JS상수에 저장해서 사용하는 방법입니다.
이렇게 저장한 상수는 HTML 태그 처럼 사용할 수 있습니다.
아래의 이미지와 같이 기존 css보다 훨씬 간결하고 가독성이 좋습니다.