DOM : 하나의 웹 페이지 정보를 모두 담고 있는 자바스크립트 객체
화면 구조의 변경이 있을 경우 DOM으로부터 수정할 부분을 찾아 일일이 다 수정된 후 전체 구조 생성
→ 보다 효율적인 방법
- 데이터가 변할 때마다 어떤 변화를 줄지 고민하는 게 아니라 기존 뷰를 다 버리고 처음부터 새로 뷰를 생성하여 보여주는 방식
- 장점
- 어떻게 변화를 줄 지 신경 쓸 필요 없음
- 변화가 있으면 기존 것은 버리고 정해진 규칙에 따라 새로 뷰를 생성하여 보여줌
- 단점
- CPU 점유율 증가
- 장점
리액트 → facebook에서 개발한 유저인터페이스 라이브러리
- JSX(JavaScript XML) 사용
- 데이터 바인딩 용이
SSR | CSR |
서버 측 랜더링
|
클라이언트 측 랜더링
|
CSR
클라이언트 측 랜더링
- 최초 화면 로딩이 느림
- 화면 갱신이 빠름
- 필요한 부분만 부분 갱신
SPA(Single Page Application)
- 하나의 페이지로 구성된 어플리케이션
- 새로운 페이지를 로딩하지 않음
- 웹이 마치 앱처럼 동작
- 초기 로딩 시간이 소요되지만 그 이후 페이지 탐색에 대한 UX가 높아짐
- 다양한 JavaScript 프레임워크들이 사용됨
- Angular, React, Vue etc
기존
- AJAX를 이용해 페이지의 일부만 갱신할 수 있다.
- 어플리케이션이 커질수록 작업이 복잡해짐 ( DOM요소 선택 → HTML조작 → 데이터 바인딩 )
- 느려질 수 있음 ( DOM변화 → CSS 연산 → 레이아웃 구성 )
리액트
- 자바스크립트의 라이브러리의 한 종류로 오직 VIEW만 신경쓰는 라이브러리
- 초기 렌더링 : 최초 실행 렌더링 ( 사용자 화면에 뷰를 보여주는 것 )
- 리렌더링 : 데이터 변경 시 다시 실행되는 렌더링
- 렌더링 : 사용자 화면에 뷰를 보여주는 것
- 컴포넌트 : 재사용이 가능한 수많은 API 기능들을 내장하고 있음
- Virtual DOM 사용
- 웹 페이지와 DOM사이의 중간 매개체 역할 → 빠른 렌더링 가능
- 대규모 어플리케이션 구축할 때 효과를 얻을 수 있다.
'React' 카테고리의 다른 글
[React] 간단한 맛집 추천 블로그 - 2 (0) | 2024.03.21 |
---|---|
[React] 간단한 맛집 추천 블로그 - 1 (0) | 2024.03.21 |
[React] Component , 구조 분해 할당 (0) | 2024.03.21 |
[React] JSX (0) | 2024.03.21 |
[React] 리액트 설치 및 실행하기 (0) | 2024.03.21 |