Compose 수명주기


Compose Lifecycle

Side-Effect


Side-Effect 는 컴포즈 함수내부에서 실행되는 외부 로직 또는 외부의 변수 상태변경으로 볼수 있다.

Side Effect 예시:

@AndroidEntryPoint
class MainActivity : ComponentActivity() {
    private var i = 0

    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContent {
            Button(onClick = { Log.d("TEST", "i: $i") }) {
                // Side Effect
								// 1. State가 아니여서 Compose 함수에서 관리되지 않음
								// 2. Compose 함수 외부의 값의 상태변화 
                i++
                Text(text = "i plus")
            }
        }
    }
}

Compose의 Side Effect 는 다음과 같이 Effect API 를 사용해서 다루어져야 한다.