State : 위에서 아래로만 내려간다
- 일반적으로 상위 컴포넌트(부모)에서 하위 컴포넌트(자식)로 전달
- UI 상태를 한 곳 (보통 부모 컴포넌트) 에서 관리해서 UI 컴포넌트(자식)는 그 상태에 대한 직접적인 수정이 불가능 -> 캡슐화
Event : 아래에서 위로 올라간다
- UI 일부에서 이벤트를 생성해 위로 전달
- 그 이벤트를 부모에게 알려주고 부모가 해당 이벤트에 대한 처리
- 이벤트 발생 -> 이벤트 핸들러가 상태 변경(업데이트) -> 상태가 변경되면 state holder에서 변경된 상태 UI 표시
- 부모는 이벤트를 처리하고 상태를 변경 후, 새로운 상태를 다시 자식에게 전달. 자식은 상태 변경에 대한 영향을 받지만 직접적으로 상태를 수정불가
테스트 하기 용이하고, ui에 일관성
ex)
mutableStatOf -> Compose가 관측할 수 있는 MutableState 생성
값 변경 -> 값을 읽는 모든 Composition의 Recomposition 예약
remember
- remember는 Compose가 상태를 유지, 컴포넌트가 다시 그려질 때, 이전에 저장했던 값을 기억
- 만약 해당 컴포넌트가 UI에서 제거 -> remember로 저장된 객체는 자동으로 제거(메모리 효율)
'🤖 Compose' 카테고리의 다른 글
[Compose] Navigation (0) | 2025.01.22 |
---|---|
[Compose] Theme (0) | 2025.01.22 |
[Compose] compositionLocal (0) | 2025.01.21 |
[Compose] viewModel , LiveData (0) | 2025.01.21 |
[Compose] Compose 주의점 (0) | 2025.01.17 |