본문 바로가기

전체 글

(10)
[Jetpack Compose Side-effects] 2. rememberCoroutineScope rememberCoroutineScope Compose에서는 rememberCoroutineScope을 통해 해당 Composable의 Lifecylce을 따르는 CoroutineScope를 제공합니다. 여기까지만 보면 LaunchedEffect에서 제공하는 CoroutineScope과 동일한 기능을 하는 것처럼 보입니다. 하지만 LaunchedEffect는 Composable이기 때문에 다른 Composable 내부에서만 사용할 수 있습니다. remeberCoroutineScope을 활용하면 특정 Composable의 CoroutineScope을 하위의 다른 Composable에서도 이용할 수 있습니다. 아래 코드를 보면 SideEffectScreen()의 CoroutineScope을 remeberCo..
[Jetpack Compose Side-effects] 1. LaunchedEffect 서론 최근 팀원 한 분이 코드 리뷰로 derivedStateOf를 사용해 코드의 중복 제거와 상태 관리를 안전하고 편하게 하는 방법을 알려주셔서 Compose의 Side-effects를 잘 알아두고 적재적소에 활용하면 불필요한 리컴포지션을 줄이고 코드를 간결하게 만들 수 있을 것 같아 정리해보려고 합니다. 자주 사용하는 LaunchedEffect 부터 생소한 snapshotFlow 등 다양한 Side-effects 들을 다룰 예정입니다. Side-effects 란? 먼저 Side-effects가 무엇인지부터 알고 넘어가려고 합니다. Compose에서는 데이터의 값이 변하면 새로운 데이터 값을 이용해 Composable을 다시 호출합니다. 다시 호출하면서 함수가 recomposition 되며, 새로운 데이..