SPA란?
'Single Page Application' 으로 리액트가 SPA의 형식이다.
페이지가 하나라는 뜻으로 하나의 페이지안에 자바스크립가 필요한 페이지나 정보만 동적으로 그려준다.
JSX란?
JSX(JavaScript XML)는 JavaScript의 확장 문법으로, React에서 UI를 작성할 때 주로 사용된다.
JSX는 HTML과 유사한 구문을 가지고 있어 React 컴포넌트의 가독성을 높이고 작성을 간편하게 한다.
JSX에서 중괄호를 사용해 JavaScript 표현식을 삽입할 수 있다.
이를 통해 동적인 값이나 변수를 JSX에 포함시킬 수 있다.
const btn = <button onClick={() => alert('Clicked!')}>Click me</button>;
Element(엘리먼트)
React 앱의 가장 작은 단위로 React 엘리먼트는 일반 객체이며(plain obj) 쉽게 생성할 수 있다.
엘리먼트는 컴포넌트의 "구성 요소"로, 컴포넌트와는 다르다.
엘리먼트는 불변객체로, 엘리먼트를 생성한 이후에는 해당 엘리먼트의 자식이나 속성을 변경할 수 없다.
엘리먼트는 영화에서 하나의 프레임과 같이 특정 시점의 UI를 보여준다.
UI를 업데이트하는 유일한 방법은 새로운 엘리먼트를 생성하고 이를 ReactDOM.render()로 전달하는 것이다.
React DOM
React DOM은 React에서 사용되는 라이브러리 중 하나로, 가상 DOM을 실제 DOM에 렌더링하고 상호작용하는 역할을 한다. 여기서 "DOM"은 문서 객체 모델을 의미하며, 웹 페이지의 구조를 나타내고 조작하는데 사용된다.
1. virtual DOM
React는 가상 DOM이라는 개념을 사용한다. 이는 메모리에 존재하는 가벼운 복사본으로, 실제 DOM과 동기화된다.
브라우저 안에 또 하나의 작은 브라우저를 만들고, 이 작은 브라우저를 "가상 DOM"이라고 부르는 것이다.
React 앱의 상태가 변경되면 가상 DOM이 다시 렌더링되고, 변경된 부분을 효율적으로 찾아내어 기존 실제 DOM에 반영된다.
2. 컴포넌트 기반
이 컴포넌트는 재사용 가능하고, 각각이 독립적으로 동작한다.
3. React DOM 라이브러리
React 앱을 웹 브라우저에서 보여주려면 react-dom이라는 라이브러리를 사용한다.
'TIL > 기록' 카테고리의 다른 글
[TIL] React에서 map, filter로 문제풀어보기 (0) | 2024.01.27 |
---|---|
[TIL] useState (1) | 2024.01.24 |
[TIL] Hook (0) | 2024.01.22 |
[TIL] 객체(Object) 기초 (0) | 2024.01.19 |
VS Code Extensions 확장프로그램 정리 (0) | 2024.01.18 |