"컴포넌트가 무엇인가?"라는 질문에 대해서 사람들은 컴포넌트는 "하나의 기능 구현을 위한 여러 종류의 코드 묶음이다." 혹은 "UI를 구성하는 필수 요소이다."라고 합니다. 누군가는 "컴포넌트는 리액트의 심장이다."라고까지 표현하기도 합니다.
컴포넌트를 여러 개 만들고 조합하여 애플리케이션을 만들 수 있습니다.
모든 리액트 애플리케이션은 최소 한 개의 컴포넌트를 가지고 있으며, 이 컴포넌트는 애플리케이션 내부적으로는 근원(root)이 되는 역할을 합니다. 이 최상위 컴포넌트는 근원의 역할을 하므로 다른 자식 컴포넌트를 가질 수 있습니다. 이 계층적 구조(hierarchy)를 트리 구조로 형상화할 수 있습니다.
리액트를 이용하여 컴포넌트 기반으로 만들었다고 생각해 보겠습니다. 컴포넌트는 각자의 기능을 가지고 있으며, UI의 한 부분을 맡고 있다고 하였지요? 때문에 원하는 수정사항에 맞추어 기존 컴포넌트의 위치만 수정해 주면 됩니다.