React란?
- 페이스북에서 만든 Javascript라이브러리
- Single Page/Mobile Application의 개발을 위해 활용
- 페이스북, 인스타그램, 넷플릭스를 포함한 많은 서비스에서 이용중
React의 특징
- 프레임워크가 아닌 라이브러리
- 프레임워크 : 원하는 기능 구현에 집중하여 개발할 수 있도록 필요한 기능을 갖추고 있는 것, 일정한 형태를 가지고 다양한 형태의 결과물을 만드는 것
- 라이브러리 : 소프트웨어를 개발할 때 프로그래밍 사용하는 비휘발성 자원의 모임, 공통으로 사용될 수 있는 특정한 기능들을 모듈화한 것
- 코드의 재사용성이 높음
- Virtual DOM: 전체 DOM(Document Object Model)을 다시 그리지 않는다
- 리액트 컴포넌트에서 render를 다시 호출하여 얻은 return값이 바로 DOM에 반영되지 않음
- 데이터가 변할 때 바뀐 부분만을 업데이트하여 "새로 고침" 하지 않아도 변경된 내용 확인이 가능