안드로이드/JetPack Compose
SideEffect
최효식
2024. 2. 11. 23:11
부수효과란? (SideEffect)
- 구성 가능한 함수의 범위 밖에서 발생하는 앱 상태에 관한 변경사항입니다.
종류
1. LaunchedEffect
- 컴포저블의 범위에서 정지 함수 실행
2. rememberCoroutineScope
- 컴포지션 인식 범위를 확보하여 컴포저블 외부에서 코루틴 실행
3. rememberUpdatedState
- 값이 변경되는 경우 다시 시작되지 않아야 하는 효과에서 값 참조
4. DisposableEffect
- 정리가 필요한 효과
5. SideEffect
- Compose 상태를 비 Compose 코드에 게시
6. produceState
- 비 Compose 상태를 Compose 상태로 변환
7. derivedStateOf
- 하나 이상의 상태 객체를 다른 상태로 변환
- 특정 계산된 값이 바뀔 때만 State의 value 가 바뀐다. (ex. LazyColumn 에서 RecyclerView 의 diffUtil 처럼 사용 가능)
8. snapshotFlow
- Compose의 상태를 Flow로 변환
- 값이 중복된 값이라면 Flow 에서 방출(emit)을 시키지 않는다.