최효식 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)을 시키지 않는다.