컴포즈는 선언적인 동시에 데이터 주도적이다.
- 사용자 인터페이스가 표시되는 방식을 선언함으로써 레이아웃을 만들수있다.
- 상태 기반 시스템을 제공해 이러한 복잡성을 해결한다.
- 데이터를 상태로서 저장하면 해당 데이터의 변경을 감지하기위한 코드를 추가로 작성하지 않아도 변경사항이 자동으로 UI에 반영된다!
- 상태에 접근하는 모든 UI 컴포넌트는 기본적으로 그 상태를 구독한다.
- 재구성: 앱 코드 안의 어디서든 상태가 변경되면 해당 데이터를 구독하는 컴포넌트가 삭제되고 새로운 컴포넌트가 생성되어 상태를 반영한다.
컴포즈는 데이터 변경에 기반해 앱의 동작과 형태를 결정한다는 점에서 데이터 주도적이다.
⇒ 상태와 재구성을 통해 이를 달성한다.