Jetpack Compose와 상태관리
개요우아한테크코스에서 각 크루 멤버는 교육 기간 동안 한 번 발표해야 합니다. 주제는 자유롭고, 배운 것이나 경험한 것을 공유해야 합니다. 저는 평소에 관심있게 공부했던 Jetpack Compose를 주제로 선택했습니다. 발표 자료를 공유합니다.
- Deep Dive/Android Jetpack Compose
- · 2024. 11. 2.
Compose의 SideEffects (2)
지난 포스팅 https://jinudmjournal.tistory.com/148 Compose의 SideEffects (1) Composable에서의 non-composable SideEffects란 Composable 함수의 범위 밖에서 발생하는 앱 상태에 관한 변경사항입니다. Composable의 수명 주기 및 속성으로 인해 SideEffects를 최소화하는 것이 좋습니다. 하지 jinudmjournal.tistory.com 지난포스팅에 이어서 Compose의 SideEffects에 대하여 학습하는 시간을 가지게 되었습니다. 이번 시간에는 Compose 상태를 Non - Compose 상태로 변환하는 방법과 반대의 경우를 살펴보겠습니다. Non - Compose -> Conpose Compose에서는..
- Deep Dive/Android Jetpack Compose
- · 2023. 11. 18.
Compose의 SideEffects (1)
Composable에서의 non-composable SideEffects란 Composable 함수의 범위 밖에서 발생하는 앱 상태에 관한 변경사항입니다. Composable의 수명 주기 및 속성으로 인해 SideEffects를 최소화하는 것이 좋습니다. 하지만 스백바를 표시하거나 특정 상태 조건에 따라 다른 화면으로 이동하는 등의 일회성 이벤트를 처리할 때 SideEffects가 필요하게 됩니다. LaunchedEffect LaunchedEffect는 컴포저블 범위에서 정지 함수를 실행할 때 사용합니다. 매개변수로 전달 된 코드 블록으로 코루틴이 실행되는데요. LaunchedEffect가 컴포지션을 종료하면 코루틴이 취소됩니다. LaunchedEffect(Unit) { detailViewModel.in..
- Deep Dive/Android Jetpack Compose
- · 2023. 11. 18.
[Compose] Preview에 Viewmodel 연결하기
Jetpack Compose로 개발 중에 Preview에 Viewmdodel을 적용하는 코드를 작성한다. @Preview(showBackground = true) @Composable fun DefaultPreview2() { MyFoodDiaryBookAOSTheme { MainUi(todayViewModel = TodayViewModel()) } } Main화면을 담당하는 MainUi 적용 시, 위와 같이 뷰 모델을 적용해야 했다. 하지만 ComponentActivity 내부에서 viewmodel을 선언해서 사용해야하는데, MainUi 함수의 경우 따로 뷰 모델을 선언할 수 있는 코드를 작성할 수 없다. 따라서 적용하려 하는 뷰 모델의 껍데기 역할을 담당하는 FakeViewModel을 만들어서 Pre..
- Deep Dive/Android Jetpack Compose
- · 2023. 7. 26.