[GetX] Null check operator used on a null value

Broccolism·2021년 12월 1일
0

dev-story

목록 보기
5/9
post-thumbnail
post-custom-banner

flutter + GetX 조합을 사용하면서 굉장히 불친절한 에러 메세지를 맞닥뜨렸다.

Null check operator used on a null value

새 스크린을 추가하고 Get.toNamed 함수를 호출하는 시점에서 에러가 난다. 딱 여기까지만 알려주고 정확히 어떤 null check operator에서 난 에러인지는 안 알려준다. 그리고 스택 트레이스를 살펴보면 특별한 내용 없이 Get.toNamed()를 가리키고 있다.

원인은 GetMaterialApproute 옵션에 새로운 스크린을 등록하지 않아서였다. 그러니까 이렇게 GetPage를 등록해주고 나면...

// 라우트 정의 파일
  static final List<GetPage> pages = [
  // ...
    GetPage(
      name: SearchScreen.name,
      page: () => const SearchScreen(),
      binding: SearchBarBinding(),
    ),
  ];

// 메인
  
  Widget build(BuildContext context) {
    return GetMaterialApp(
      title: MyConstants.APP_NAME,
      home: const HomeScreen(),
      getPages: MyPages.pages,
      initialBinding: InitialBinding(),
    );
  }
  

문제없이 잘 작동한다. 플러터 null safety 업뎃 이후 좀 더 자세한 에러 메세지가 띄워졌으면 하는 바람이..🥲 혹시나 비슷한 상황에서 같은 에러 메세지를 만났다면 라우팅 등록을 깜박한게 아닌지 의심해보자.

profile
설계를 좋아합니다. 코드도 적고 그림도 그리고 글도 씁니다. 넓고 얕은 경험을 쌓고 있습니다.
post-custom-banner

2개의 댓글

comment-user-thumbnail
2022년 5월 2일

저도 종종 그래서 공감되네요

1개의 답글