[안드로이드 공부]/코틀린

MutableStateFlow .update VS .value = 차이점

코코모모 2024. 5. 4. 12:24

아래는 코모스튜디오가 직접 만든 무료 앱이에요
(한 번만 봐주세요 ^^)

01

02

03

정각알림 만들기(말하는시계)

말하는 시계 (취침, 자전거) 

말하는 타이머 음성 스톱워치 

private val _uiState = MutableStateFlow<UiState>(UiState.Loading)
_uiState.update {
    when (state) {

VS

_uiState.value = state

 

두 방법 모두 MutableStateFlow의 값을 업데이트하는 방법이지만, 사용 상황에 따라 적합한 방법이 다르다.


_uiState.update { }: 이 방법은 현재 MutableStateFlow의 값에 기반하여 새 값을 계산할 때 유용하다. 이 함수는 현재 값을 인자로 받는 람다 함수를 사용하며, 람다 함수의 반환 값이 새로운 값으로 설정됨.  


_uiState.value = state: 이 방법은 새 값이 현재 값에 의존하지 않을 때 사용한다. 이 방법은 단순히 MutableStateFlow의 값을 직접 설정한다.  


따라서, 새로운 상태 값이 현재 상태 값에 의존하는 경우 _uiState.update { }를 사용하고, 그렇지 않은 경우 _uiState.value = state를 사용하는 것이 좋다.

모든 게시물은 코모스튜디오의 소유이며, 무단 복제 수정은 절대 불가입니다.
퍼가실 경우 댓글과 블로그 주소를 남기고 해당 게시물에 출처를 명확히 밝히세요.