비비디바비비부
프로그래밍저장소
비비디바비비부
전체 방문자
오늘
어제
  • 프로그래밍 (72)
    • 안드로이드 (5)
      • 잡다한 지식 (40)
      • Compose (2)
      • Design (3)
      • Project (6)
    • 리액트 (4)
      • 프로젝트 (1)
      • 잡다한 지식 (1)
    • 알고리즘 (3)
      • 알고리즘 문제 (3)
    • AI (4)
      • 딥러닝 (4)
    • CS (2)
    • 잡동사니 (2)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
비비디바비비부

프로그래밍저장소

안드로이드/Compose

Compose 상태 관리

2024. 4. 17. 17:01

XML은 뷰에서 자동으로 업데이트를 처리해준다. 하지만 Compose는 XML과 다르게 명시적으로 알려주어야한다.

 

아래 코드로 예로 보자.

@Composable
private fun HelloContent() {
    Column(modifier = Modifier.padding(16.dp)) {
        Text(
            text = "Hello!",
            modifier = Modifier.padding(bottom = 8.dp),
            style = MaterialTheme.typography.bodyMedium
        )
        OutlinedTextField(
            value = "",
            onValueChange = { },
            label = { Text("Name") }
        )
    }
}

XML로 만들었다면 텍스트를 입력하면 UI가 변하지만 Compose에서는 변화가 없다.

이는 Compose에서 컴포지션(빌드한 UI) 및 리컴포지션(데이터 변경 시 컴포지션을 업데이트를 위해 다시 실행)가 작동하는 방식 때문이다.

 

컴포저블 상태

compose에서 remember API를 사용하면 메모리에 객체를 저장할 수 있다.

remember를 사용해서 객체를 저장한 컴포저블을 stateful 이라고 하며, stateless는 컴포저블이 상태를 가지지 않는 것을 말한다.

 

참조

상태 및 Jetpack Compose  |  Android Developers

 

저작자표시 비영리 동일조건 (새창열림)

'안드로이드 > Compose' 카테고리의 다른 글

Compose imageView Url로 load해주는 라이브러리  (0) 2021.12.07
    '안드로이드/Compose' 카테고리의 다른 글
    • Compose imageView Url로 load해주는 라이브러리
    비비디바비비부
    비비디바비비부
    안드로이드 기술 블로그, 코딩 공부, 프로그래머

    티스토리툴바