최초작성일: 2023년 4월 5일
이번에 플러터 버전을 업데이트하면서 새로운 에러들을 확인하고 있다.
그 중 LateInitializationError
는 에러가 발생하는 위젯/하위 위젯 모두 late나 nullable로 선언된 변수가 없어서 왜 발생하는지 알 수가 없었다.
LateInitializationError: Field '_children@25042623' has not been initialized.
플러터와 패키지 버전을 올린 이후에 발생한 문제라서 패키지에서 발생한 문제인지 의심했고, 에러 로그에서 문제가 되는 패키지의 경로를 확인할 수 있었다!!
그래서 구글링 결과, 해당 패키지 깃헙에서 이슈를 확인할 수 있었다.
해결 방법은 다음과 같다! (출처)
@override
Widget build(BuildContext context) {
return StaggeredGrid.count(
axisDirection: AxisDirection.down, // <----- Add this line
crossAxisCount: 7,
mainAxisSpacing: 1,
crossAxisSpacing: 1,
children: [
StaggeredGridTile.count(
crossAxisCellCount: 7,
mainAxisCellCount: 1,
child: FittedBox(
fit: BoxFit.contain,
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Text(DateFormat(DateFormat.MONTH).format(DateTime.now())),
),
),
)
],
);
}
앞으로 버전 업데이트 후 발생한 문제는 관련된 이슈를 먼저 찾아보자!