리액트는 view을 생성하기 위한 라이브러리이다. 어플리케이션 개발에 필요한 테스트, 상태관리(redux, mobx), 라우팅(페이지 이동) 등의 기능들은 다른 라이브러리를 함께 사용해야 함..
리액트로 만들어진 어플리케이션을 이루는 최소 단위를 컴포넌트라고 한다.
따라서 리액트로 만들어진 어플리케이션의 view는 여러 컴포넌트로 이루어져 있다.
인스타의 예시를 보자.
두 가지가 있다. 예전에는 클래스 컴포넌트를 많이 이용했지만, 리액트에서 Hooks라는 라이브러리가 나온 이후로는 함수형 컴포넌트로만 개발을 진행한다고 함.
리액트 자체는 웹 브라우저 엔진에서 실행되기 때문에 Node환경을 필요로 하지 않지만, 프로젝트를 개발하는데 필요한 주요 도구들이 Node환경에 의존하고 있다.(번들러 등) 그래서 Node.js가 요구된다.
리액트가 왜 가상 DOM을 사용하는지 알려면 웹 페이지 빌드 과정(CRP;Critical Rendering Path)를 알아야 한다.