seoft

컴포즈 프리뷰 에러 원인 중 일부 분석 본문

android

컴포즈 프리뷰 에러 원인 중 일부 분석

seoft 2025. 3. 18. 22:22

[ compose compiler 1.5.10 / compose_bom androidx.compose:compose-bom:2024.12.01 ] 기준

 

컴포즈 프리뷰내 구성된 컴포즈 root 를 포함한 모든 하위 구성이 참조하는 코틀린 파일의 모든 멤버변수를 읽고

 

멤버변수가 주입이 덜된 구성이거나 오류를 발생할 경우 preview error 를 유발

 

예를들어

 

A.kt 구성이 다음과 같고

val version = "1.0" 
val error = "".let {
  error("error")
  ""
}

 

 

프리뷰의 컴포즈가 A.version 만 사용한다 가정했을때

 

error 는 사용하지 않지만 A.kt 의 멤버 프로퍼티를 읽으면서 오류발생

 

error 프로퍼티를 삭제하거나 다음처럼 처리하면 정상동작

val error by lazy {
  "".let {
    error("error")
    ""
  }
}

 

Comments