🤖 Compose

[Compose] 단방향 데이터 흐름

콩드로이드 2025. 1. 23. 17:50

 

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