제리토 블로그

리액트 알아보기

리액트는 사용자 인터페이스를 만들기 위한 자바스크립트 라이브러리다. 리액트는 메타에서 만든 오픈소스 자바스크립트 UI 라이브러리로 2023년에 처음 출시되었다. 리액트는 사용자와 웹사이트의 상호작용을 돕는 인터페이스를 만들기 위한 자바스크립트 기능 모음집이다. SPA는 Single Page Application의 줄임말이다. 하나의 페이지만 있는 웹사이트다. 리액트는 SPA를 쉽고 빠르게 만들 수 있게 해준다.

리액트는 빠른 업데이트와 렌더링 속도가 장점이다. 리액트는 빠른 업데이트를 위해서 내부적으로 Virtual DOM이라는 것을 사용한다. DOM은 Document Object Model의 줄임말로 웹페이지를 정의하는 하나의 객체라고 생각하면 된다. 웹사이트에 대한 정보를 가지고 있다. Virtual DOM은 웹페이지와 실제 DOM 사이에서 중간 매개체 역할을 한다. 업데이트해야 할 최소한의 부분만 찾아서 업데이트한다. 리액트는 컴포넌트 기반이다. 하나의 컴포넌트는 또 다른 여러 개의 컴포넌트의 조합으로 구성될 수 있다. 그래서 재사용성이 높다. 활발한 개발 생태계도 리액트의 장점이다. 리액트는 오픈소스 프로젝트로 메타에서 관리한다. 리액트 네이티브를 사용하면 모바일 앱도 개발할 수 있다.

리액트는 배워야 할 학습 내용이 많다. 다른 방식의 UI 라이브러리이기 때문에 배워야할 것이 많다. 그리고 버전이 업데이트되면 새롭게 학습해야 한다. 공식문서에서 잘 확인해서 사용한다. 리액트의 높은 상태 관리 복잡도는 단점이다. 리액트에는 state라는 굉장히 중요한 개념이 있다. state는 리액트 컴포넌트의 상태다. 성능 최적화를 위해서 state를 잘 관리해야 하는데 처음 리액트를 사용하면 쉽지 않다. 그래서 웹사이트가 복잡해지면 Redux, MobX 등의 외부 상태 관리 라이브러리를 사용하는 경우가 많다.