[10분 테코톡] 누누의 Jetpack Compose with State
- Jetpack Compose는 Android를 위한 선언적 UI 키트로, 반응형 프로그래밍 모델과 Kotlin의 장점을 결합하여 UI를 직관적으로 구성할 수 있음 🎉
- Compose는
composition
함수를 통해 UI를 작성하며, 데이터 변경 시 자동으로 UI를 업데이트 함 ⚙️
composable
함수는 순서에 관계없이 동작하며, 각 함수는 독립적인 요소만 포함해야 함 🧩
- Compose는 재귀 생성을 통해 효율성을 높이며, 재 구성 시 상태 변경 가능성을 고려해야 함 🔄
- 재 구성 시
Remember
함수를 사용하여 Composables의 상태를 유지하여 불필요한 초기화를 방지 🔑
- Compose는 상태가 있는 Composables (
stateful
) 와 상태가 없는 Composables (stateless
) 로 나뉘며, 가능하면 stateless
함수를 사용하는 것이 좋음 ⚖️
- 상태 끌어올리기(state hoisting)는 상태를 위로 끌어올려 composable functions를
stateless
개념에 가깝게 만드는 디자인 패턴이며 효율적인 상태 관리에 도움 ⬆️
Side effect
는 composable 함수 바깥에서 실행되는 외부 상태 변화를 의미하며, 예를 들어 데이터베이스 업데이트나 네트워크 요청 등 💾网络
- Compose는
launch
와 같은 함수를 제공하여 side effect
를 조절하고 UI 구성 로직에서 분리하여 실행 💨