본문 바로가기

Jetpack Compose

[Jetpack Compose] 12. by 위임

아래 영상을 보고 정리한 게시글입니다.

https://www.youtube.com/watch?v=Fn_xJ_IRHiA&list=PLxTmPHxRH3VV8lJq8WSlBAhmV52O2Lu7n&index=9 


by

이전에 이렇게 쓴 적이 있음

@Composable
fun HomeScreen(viewModel: MainViewModel = viewModel()) {
    val (text, setText) = remember {
        mutableStateOf("Hello World")
    }

    Column() {
        Text(text = text)
        Button(onClick = {
            setText("변경")
        }) {
            Text("클릭")
        }
    }
}

 

위임 키워드 'by'를 쓰면

getter, setter가 재정의 돼서 편하게 쓸 수 있음

@Composable
fun HomeScreen(viewModel: MainViewModel = viewModel()) {
    var text : String by remember {
        mutableStateOf("Hello World")
    }

    Column() {
        Text(text = text)
        Button(onClick = {
            text = "변경"
        }) {
            Text("클릭")
        }
    }
}

결과