Text 등의 Widget에 변수가 포함될 수 없는 경우의 대처법 【Flutter】

2695 단어 DartFlutter

소개



다음과 같이 코드를 실행하면 Evaluation of this constant expression throws an exception. 라는 오류가 발생합니다.

sample.dart
const ListTile(
  title: Padding(
    child: Text(
      widget.title,
      style: TextStyle(
          fontSize: 23.0, fontWeight: FontWeight.bold
      ),
    ),
    padding: EdgeInsets.all(5.0),
  ),
),



대처법



처음은, Text() 의 widget 에는 변수의 임베드를 할 수 없는 것인가? RichText가 아니면 할 수 없습니까? 등등 여러가지 시도했습니다만, 매우 간단한 이야기였습니다. 이유는, 「부모 Widget에 const 가 들어가 있었기 때문」이었습니다.

smaple.dart
ListTile(
  title: Padding(
    child: Text(
      widget.title,
      style: TextStyle(
          fontSize: 23.0, fontWeight: FontWeight.bold
      ),
    ),
    padding: EdgeInsets.all(5.0),
  ),
),

이런 간단한 버그에 걸려 이것 30분 정도 시간이 걸렸습니다.
아무리 검색해도 나오지 않았던 것은, 납득이군요.

비슷한 처지에 있는 누군가의 검색에 히트하기를 바라며 기사로 남겼습니다.

좋은 웹페이지 즐겨찾기