4.1 React.js 소개
React.js란?
- Meta가 개발한 오픈소스 JavaScript 라이브러리
- 대규모 웹 서비스의 UI를 더 편하게 개발하기 위해 만들어진 기술
React의 기술적인 특징
- 컴포넌트를 기반으로 UI를 표현한다.
- 컴포넌트(Component): 구성요소 - 화면을 구성하는 요소, UI를 구성하는 요소를 의미
- 화면 업데이트 구현이 쉽다.
- 업데이트: 사용자의 행동(클릭, 드래그)에 따라 웹 페이지가 스스로 모습을 바꿔 상호작용 하는 것
- 업데이트를 위한 복잡한 동작을 직접 정의할 필요없이 특정 변수의 값을 바꾸는 것만으로도 화면을 업데이트 시킬 수 있음
- React는 선언형 프로그래밍(과정은 생략하고 목적만 간결히 명시하는 방법)이라 구현이 쉬움
- JavaScript와 비교했을 때, JS는 명령형 프로그래밍이라 모든 과정을 일일이 설명해야 하므로 코드가 길고 복잡한 대신, React는 목적만 깔끔하게 명시하여 코드가 간결함
- 화면 업데이트가 빠르게 처리된다.
- 화면 업데이트는 JavaScript가 DOM을 수정할 경우 발생
- React는 Virtual DOM(DOM을 자바스크립트 객체로 흉내낸 것 - 일종의 복제판)을 사용하여 복제판에 먼저 반영해 봄
- Virtual DOM이 업데이트를 모아 한번에 반영하여 DOM의 수정은 총 1회 일어남