1. JSX
JSX는 Javascript + XML/HTML 이다.
const element = <h1>Hello, World!</h1>
- JSX의 간단한 예로 위 코드가 있다. 왼쪽은 Javascript이지만, 오른쪽은 HTML이다.
- JSX는 하나의 객체를 나타낸다. React는 이 객체를 읽어서 DOM을 만드는데 사용하며, 항상 최신 상태를 유지한다.
2. React 장점
- 코드가 짧고, 가독성이 좋음.
- 버그를 발견하기 쉬우므로, 개발 시간이 줄어듬.
- React DOM은 렌더링 하기 전 JSX내에 포함된 모든 값들을 문자열로 처리하므로 명시적으로 선언되지 않은 값들은 삽입할 수 없기 때문에 XSS(cross-site-scripting) 공격을 막을 수 있다.
rendering은 Data를 Html로 변환 후 renderer에게 전달하는 일관 작업을 의미한다.
3. 예제
const name = "HongGilDong"
const element = <h1>"Hello, {name}</h1>
ReactDOM.render( // root라는 id를 가진 element에 렌더링을 한다.
element,
document.getElementById('root'));
- 기본적으로 JSX는 'XML/HTML { Javascript } XML/HTML'의 형식으로 되어있다. (※ 중괄호({}) 안에는 무조건 Javascript 코드를 넣는다고 생각하자.)
4. Children 정의
const element = (
<div>
<h1>first</h1>
<h1>second</H1>
</div>
);
- element는 무조건 하나의 태그로 전체를 감싸줘야 한다.
5. Elements란?
const element = <h1>Hello, World</h1> // 화면에서 'Hello, World'를 볼 수 있다.
- React 앱을 구성하는 가장 작은 블록으로, 화면에 보이는 것들을 기술한다.
- element는 immutable(불변성)이다. 즉, Element 생성 후 children이나 attributes를 바꿀 수 없다.
'FrontEnd > React' 카테고리의 다른 글
[React] Component 생성 (0) | 2021.09.05 |
---|---|
[React] state , Lifecycle (0) | 2021.08.24 |
[React] Components, Props (0) | 2021.08.20 |
[React] 시계 (0) | 2021.08.19 |
[React] 구름(goorm) IDE를 이용한 리액트 구동 (0) | 2021.08.15 |