리액트의 생김새를 정의할 때, 사용하는 문법이다. 리액트 컴포넌트 파일에서 XML 형태로 코드를 작성하면 babel이 JSX를 JavaScript로 변환을 해준다.
babel은 자바스크립트의 문법을 확장해주는 도구이다.
import React from 'react';
import Hello from './Hello';
const App = () => {
return(
<div>
<Hello/> //오류가 없다.
<Hello> //Parsing error
</div>
);
}
import React from 'react';
import Hello from './Hello';
const App = () => {
return(
<Hello/> //오류가 없다.
<Hello> //Parsing error
);
}
import React from 'react';
import Hello from './Hello';
const App = () => {
return(
<>
<Hello/> //오류가 없다.
<Hello> //Parsing error
</>
);
}
태그를 작성할 때 이름 없이 작성을 하게 되면 Fragment가 만들어진다. 브라우저 상에서 별로의 엘리먼트로 나타나진 않는다.
import React from 'react';
import Hello from './Hello';
const App = () => {
const name = 'react';
return (
<>
<Hello />
<div>{name}</div>
</>
);
}
{}
로 감싸서 보여준다.import React from 'react';
import Hello from './Hello';
const App = () => {
const name = 'react';
const style = {
backgroundColor: 'black',
color: 'aqua',
fontSize: 24, // 기본 단위 px
padding: '1rem' // 다른 단위 사용 시 문자열로 설정
}
return (
<>
<Hello />
<div style={style}>{name}</div>
<div className="gray-box"></div>
</>
);
}
-
를 사용하는 이름들은 카멜케이스 형태로 네이밍 해줘야 한다.class
가 아닌 className
으로 설정 해줘야 한다.