← 질문 목록
#95깊이 0
상태 변경은 어디까지 다시 실행되는가?
변경된 State를 읽은 재시작 범위가 다시 실행된다. 그 아래에서도 입력이 바뀌지 않은 스킵 가능 컴포저블은 건너뛸 수 있다.
상태→컴포저블
읽은 재시작 범위를 무효화한다
Compose→컴포저블
필요한 범위만 다시 실행한다
Compose→UI 트리
달라진 노드만 반영한다
일반 mutable 객체의 필드만 바꾸면 Compose가 변화를 알지 못한다. MutableState로 바꾸거나 Flow를 collectAsState 계열로 수집해야 갱신이 예약된다.
remember는 같은 Composition에서 값만 보존한다. 부수 효과를 본문에 직접 두면 재실행이나 취소 순서가 깨지므로 LaunchedEffect와 DisposableEffect에 둔다.
Compose는 입력 동일성으로 스킵을 판단한다. 안정성 계약과 key를 잘못 선언하면 오래된 UI 상태가 다른 항목에 붙을 수 있다.
추천 꼬리질문
관련 질문
- 화면을 돌리면 데이터가 사라지는 이유는?모바일화면 회전 시 상태가 사라지는 원인과 이를 다시 실행/복구하는 메커니즘을 공유한다.
- 회전 뒤에도 남겨야 할 상태는 어디에 두는가?모바일모바일 환경의 화면 회전으로 인한 상태 유지 및 복구 개념을 공유한다.
- 화면 상태를 둘 때 두 수단을 어떻게 나누는가?모바일모바일 화면 상태를 저장하고 복구하는 수단과 그 범위에 대한 개념을 공유한다.
- 재사용 셀에 이전 데이터가 비치는 이유는?모바일둘 다 모바일 UI 컴포넌트의 생명주기에 따른 상태 유지 및 재사용 메커니즘을 다룹니다.
- 화면이 바뀐 뒤 포커스는 어디로 보내는가?프론트엔드