프로그래밍/React
JSX 규칙
하초
2020. 3. 18. 07:10
babeljs.io를 통해서 확인하면
React 안에는 createElement라는 함수가 있고 , 이를 통해서 컴포넌트를 만든다.
JSX 문법을 사용해서 xml 형태로 선언을 하면 babel이 위의 내용을 실행해준다.
JSX 규칙
1. 태그는 무조건 닫혀있어야한다.
input 같이 원래 닫지 않아도 됐던 엘리먼트도 셀프 클로징을 해줘야한다.
<div></div> // <div> 입력시 오류
<input /> // <input> 입력시 오류
2. 두개 이상의 태그는 하나의 태그로 감싸져야 한다.
import React from 'react';
import Hello from './Hello';
function App() {
return (
<div>
<Hello />
<div>안녕히계세요.</div>
</div>
);
}
export default App;
<div>대신에 <>로 대체 가능하다.
<div>는 브라우저에서 확인이 가능하지만 <>는 확인이 안된다.
불필요한 <div>사용이 안되게끔
import React from 'react';
import Hello from './Hello';
function App() {
return (
<>
<Hello />
<div>안녕히계세요.</div>
</>
);
}
export default App;
3. jsx 내부에서 자바스크립트 값 보여주기
변수를 선언하고, 중괄호 안에다가 변수를 넣어준다.
import React from 'react';
import Hello from './Hello';
function App() {
const name = 'react';
return (
<>
<Hello />
<div>{name}</div>
</>
);
}
export default App;
4. jsx 내부에서 style 적용 방법
자바스크립트로 선언 후 적용
import React from 'react';
import Hello from './Hello';
function App() {
const style = {
backgroundColor : 'black',
color: 'aqua',
fontsize : 24,
padding : '1rem'
};
return (
<>
<Hello />
<div style = {style}>스타일 적용예제</div>
</>
);
}
export default App;
5. jsx 내부에서 class 스타일 적용 방법
html에서 사용하던 class가 아닌 , className을 통해서 사용한다.
class로도 적용이 가능하지만 경고가 뜨게 된다.
import React from 'react';
import Hello from './Hello';
import './App.css';
function App() {
return (
<>
<Hello />
<div style = {style}>{name}</div>
<div className = "gray-box"></div>
<div class ="gray-box"></div> //경고가 뜬다
</>
);
}
export default App;
6. 주석 사용방법
import React from 'react';
import Hello from './Hello';
import './App.css';
function App() {
return (
<>
{/* 주석은 이렇게 */}
<Hello
// 이렇게 또 주석을
/>
<div className = "gray-box"></div>
</>
);
}
export default App;