React in Action #1

1. React

여러 플랫폼에서 사용자 인터페이스를 개발하기 위한 자바스크립트 라이브러리

*컴포넌트*: 리액트에서 구현하고자 하는 기능을 캡슐화하는 기본 단위로 데이터(속성 및 상태)를 다루며, 그 결과로 UI를 렌더링한다. 컴포넌트는 각자 자신의 상태를 관리한다. 이 상태는 ‘순수한’ 자바스크립트로 작성하며, 리액트 라이브러리로부터 유용한 API들을 상속한다.

.

1.3 가상 DOM

브라우저에 존재하는 문서 객체 모델(Document Object Model)을 흉내 내거나 반영하는 데이터 구조 또는 데이터 구조의 모음(collection)

1.3.1 DOM

자바스크립트 프로그램이 다양한 종류의 문서(HTML, XML 또는 SVG 등)를 다루기 위한 프로그래밍 인터페이스 리액트의 가상 DOM은 극한의 성능을 내기 위해서라기보다는 견고한 API, 간단한 멘탈 모델, 그리고 브라우저 간 호환성 등 더 중요한 요소들을 함께 제공하기 위해 디자인되었다. 충분한 성능을 발휘하지만 절대적인 것은 아니다.

1.4.2 Component: 캡슐화와 재사용

컴포넌트는 캡슐화되어 있으며, 반드시 한 번은 재사용할 컴포넌트를 만들어야 한다. 리액트의 컴포넌트는 상호작용하며 함께 동작한다. 즉, 여러 컴포넌트를 조합해서 새로운 형태의 합성 컴포넌트를 만들 수 있다.