4.5 상태비저장 컴포넌트와 상태저장 컴포넌트의 비교
상태비저장 컴포넌트를 사용하는 이유는 무엇일까? HTML 렌더링을 처리하는 것으로 충분한 경우, 별도의 인스턴스를 생성하거나, 라이프사이클 메서드를 사용하지 않아도 되는 상태비저장 컴포넌트가 더 선언적이고 잘 작동한다. 기본적으로 엘리먼트에 속성을 전달하여 HTML로 렌더링하는 것이 필요한 작업의 전부일 때 상태비저장 컴포넌트를 사용하면 중복을 줄일 수 있고, 더 나은 문법을 바탕으로 좀 더 간결하게 컴포넌트를 작성할 수 있다.
내가 제안하는 방법이자 React 팀이 소개하는 모범 사례는 일반 컴포넌트를 사용하는 대신 상태비저장 컴포넌트를 가능한 한 많이 사용하는 것이다. 그렇지만 시계 예제에서 살펴본 것처럼 언제나 가능한 방법은 아니다. 결국 상태를 이용해야 하는 경우도 가끔 있다. 따라서 컴포넌트 계층 위에는 UI 상태, 상호작용, 그 외의 애플리케이션 로직(서버에서 데이터를 불러오는 것 등)을 관리하는 상태저장 컴포넌트가 위치하게 된다.