-
구조 분해 선언을 활용해서 remember를 사용해보자카테고리 없음 2024. 8. 28. 17:12
최근 공부를 하는 중 구조 분해 선언을 활용해 코드를 차는 것을 보아 이를 적용하고 블로그로 정리를 해본다.
나는 원래 Compose의 remember를 사용하여 상태를 관리를 해야할때 보통
@Composable fun HomeScreen() { val text = remember { mutableStateOf("") } MyTextField( value = text, onValueChanged = { text.value = it } ) } @Composable fun MyTextField( value: String, onValueChanged: (String) -> Unit ) { TextField(value = value, onValueChange = onValueChanged) }원래는 이렇게 사용을 했었다면
@Composable fun HomeScreen() { val (text, onTextChanged) = remember { mutableStateOf("") } MyTextField( value = text, onValueChanged = onTextChanged ) } @Composable fun MyTextField( value: String, onValueChanged: (String) -> Unit ) { TextField(value = value, onValueChange = onValueChanged) }구조 분해 선언을 사용해서 remember의 상태를 관리를 하게 되면 위와 같이 코드가 더 간소화되고, 가독성 또한 증가함을 알 수 있다!
https://github.com/School-of-Company/Bitgoeul-Android
GitHub - School-of-Company/Bitgoeul-Android: [ 2세대 학교기업 프로젝트 | Android ] 광주 빛고을 직업교육 혁
[ 2세대 학교기업 프로젝트 | Android ] 광주 빛고을 직업교육 혁신지구. Contribute to School-of-Company/Bitgoeul-Android development by creating an account on GitHub.
github.com
위의 프로젝트에서 구조 분해 선언을 활용해 feature 모듈의 Compose 코드를 구조 분해 선언을 활용해 가독성 및 코드 간소화를 하는 리팩토링 작업을 하였습니다.
다음 포스트에서는 안드로이드 Compose를 사용할때 해서는 안될 주의 사항중 하나인 remember로 상태를 관리하면 좋지않다는 것을 반영하여 remember 대신 viewModel에서 상태를 관리하는 방법에 대해서 알아보겠습니다.