JSX는 JavaScript eXtension의 약자로, 자바스크립트의 확장 버전을 의미한다. 자바스크립트 내부에 html 문법을 그대로 입력하는 방식을 말하는데, 이것을 Babel이 순수 리액트 문법으로 변환시키고 또 리액트 라이브러리가 순수 자바스크립트 코드로 변환시킨다.
바벨이 JSX 문법을 자바스크립트로 제대로 변환하기 위해서는 기본 문법을 준수해야 한다. 다음의 예시 코드를 보면서 간단히 살펴보자!
<br />
<hr />
태그도 꼭 /로 닫아줄 것!<div>
같은 태그를 사용하면 되지만, 사용하기 적절치 않은 상황이라면 React.Fragment(빈태그)를 사용해준다. React.Fragment는 실제 DOM에 생성되지 않는다. function App(){
return(
<React.Fragment>
<h1>안녕하세요</h1>
<NewHello />
</React.Fragment>
{/* 약식표현 */}
<>
<h1>안녕하세요</h1>
<NewHello />
</>
);
}
function App(){
const name = 'JSX';
return(
<>
<h1>{name}</h1>
</>
);
}
CSS style 설정은 위 예시와 같이 App.css에서 작성한 파일을 가져오거나, JSX 안에 직접 작성해줄 수 있다.
backgrouneColor
fontSize
function App(){
const name = 'JSX';
const style = {
backgroundColor : 'yellow',
fontSize : 18
}
return(
<div style ={style}> {name} </div>
);
}
{/* 주석내용입력 */}
형태로 작성하며, 이렇게 입력한 주석은 실제 화면에 보이지 않는다./* 주석내용입력 */
처럼 중괄호로 감싸지 않으면 그대로 화면에 노출된다.// 주석내용입력
는 열린 태그의 내부에서 사용 가능하다. => <NewHello //주석내용입력 />