본문 바로가기
Flutter/Flutter

mainColor를 const로 고정해주고 싶었을 뿐인데

by 복복씨 2024. 8. 30.

 

Colors.pink[100]을 mainColor로 설정해주려고하다가 다음과 같은 문구를 발견했다.

이건 Const로 선언할 수 없단 얘기.

엥 왜지? 이미 있는 값을 상수값으로 넣어주는건데 왜.

라고 생각했지만 

 

MaterialColor 객체에서 인덱싱[]을 통해 색상을 가져오는 과정은 런타임에 하는 것이었다. 왜냐면 일반적으로 인덱싱은 해당 데이터의 구조나 상태에 따라 달라지기 때문에 런타임에 결정이 되는 것이라고....

 

이미 const로 정의된 List가 아닌 이상,, 런타임에 정의된다고 한다.... 

 

그래서 해결방법은, 런타임 상수인 final로 값을 결정해주거나

 

const로 쓸거면 

이렇게 지정해주기이다.