# TIL-20210324

# react 알아보기

여태 react를 많이 사용했지만, 어떤 내용을 담고 있는지 자세히 들여다 보려고 했다. 프로젝트에 치여서 급하게 코드를 만드는데만 집중했던것 같아 아주 기초적인 부분부터 찾아봤다.

# react란?

사용자 인터페이스를 만들기 위한 Javascript 라이브러리이다. - 공식문서 -
JS프론트엔드 기술 스택에서 가장 많이 쓰이는 몇 가지중 하나인 react는 비슷한 용도로 사용하는 angular와 다르게 라이브러리 이다.
angular는 프레임워크고 react는 라이브러리 이다.
비슷한 기능의 라이브러리를 모은 것이 프레임워크 이다.

그만큼 react는 가볍고, 다른 확장 기능을 개발자가 폭넓게 선택 할 수 있다.
react는 다음과 같은 특징이 있다.

  1. 컴포넌트 기반 라이브러리이다. 모든 UI를 블록단위로 구분하여 만들 수 있다.
    각각의 블록은 state라고 하는 컴포넌트단위의 데이터를 통해 부분적으로 컨트롤 하는게 가능하다. virtual DOM을 사용한다.

이러한 방법을 통해 계속해서 페이지 전체를 불러오지 않아도 된다. 한마디로 부분적으로 변경이 필요한 부분만 바꿀 수 있다.

  1. 선언형 컴포넌트다. 선언형은 어떤것이 그려질지에 대한 설명만 있으면 그 기능을 만들 수 있다.
    어떠한 방식으로 그려야하는지 구체적인 로직을 정하지 않아도 그 기능을 만들 수 있다는 뜻이다.

  2. SPA(Single Page Application)개발이 편하다. index.html하나만 있으면 서비스를 만들어 볼 수 있다.

# 결론

react는 가볍게 UI 컴포넌트를 만드는 역할을 도와준다. 단순히 react만으로는 부족한 부분이 있기 때문에 다른 라이브러리를 추가해 사용 할 수 있다.