-
React? 복잡한 사용자 인터페이스를 쉽게 구축하기 위해 개발된 <라이브러리>
리액트는 프레임워크로 하기에는 개발자의 선택이 반영이 더 많이 되기 때문에 라이브러리로 간주함.
React 핵심컨셉
1. 컴포넌트
한가지 이상의 기능을 수행하는 UI를 모듈화
각각의 페이지 구성에 필요한 컴포넌트를 조립하여 페이지를 완성한다.
=> 단일책임의 원칙 (SRP - 한가지 기능에만 집중)
* 컴포넌트는 html이 아니라 html을 리턴하는 함수다.
2. Virtual Dom (가상돔)
DOM : Document Object Model.
리액트는 DOM API를 사용하지않고, 가상의 Dom tree를 만든다.
즉, 실제 사용자가 보고 있는 DOM에 간섭하지 않는다.
=> 대신, 리액트는 state라는 상태값을 가지고 있다.
=> 상태값이 바뀌었다면, 바뀐부분만 화면을 다시 그린다.
(리액트는 일반 html보다 시간은 조금 더 오래걸림. 렌더링은 오래걸리나 repaint, reflow의 시간은 줄어들고 편의성이 크기 때문에 리액트를 쓰는것)
가상돔 사용의 이점
reflow repaint 과정이 state가 변했을 때 최초 1회만 시행
상태값만을 구독하고 있기 때문에 화면을 바꾸는 시점을 개발자가 컨트롤 쉬움.
3. ReRendering (rendering : 사용자들에게 화면을 보여주는것)
상태가 바뀌면 상태가 바뀐 함수만 재실행하기 때문에 다른함수는 다시 그려지지 않는다.
--------------
리액트를 사용하는 이유?
리액트 커뮤니티가 엄청 크다는것. 백엔드의 자바같은 원리.반응형'언어 > React' 카테고리의 다른 글
React에서 알아야할 개념 (0) 2024.05.18