상태비저장 컴포넌트가 반드시 정적이라고 생각해서는 안 된다. 다른 속성을 전달하면 상태비저장 컴포넌트의 모습을 바꿀 수 있다. 다음 예제 코드에서 Clock 컴포넌트를 세 컴포넌트로 분리하여 개선하는 과정을 살펴보자. 갱신할 상태와 로직을 가진 Clock 컴포넌트는 상태저장 컴포넌트이고, 시간의 출력만 처리하는 두 컴포넌트 DigitalDisplay와 AnalogDisplay는 상태비저장 컴포넌트다. 상태비저장 컴포넌트 두 개는 각각 다른 방식으로 시간을 출력한다. 목표는 그림 4-7과 같다. 그럴싸하지 않은가?
▲ 그림 4-7 아날로그 방식 또는 디지털 방식으로 노출할 수 있는 시계