강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

code11님의 프로필 이미지
code11

작성한 질문수

[코드팩토리] [초급] Flutter 3.0 앱 개발 - 10개의 프로젝트로 오늘 초보 탈출!

색상상태관리 null check 오류

해결된 질문

작성

·

618

0

색상상태관리 수강중 

print(snapshot.data);

이건 정상적으로 출력이 되지만 

snapshot.data![0] 이 부분에서 오류가 발생하여 색상 선택하는 부분으로 넘어가지 못하고 있습니다.

값은 제대로 나오는데 뭐가 문제일까요?

오류가 나오는 코드입니다

 

FutureBuilder<List<CategoryColor>>(
//데이터가져오기
future: GetIt.I<LocalDatabase>().getCategoryColors(),
builder: (context, snapshot) {

print(snapshot.data![0]);
if (snapshot.hasData &&

selectedColorId == null &&
snapshot.data!.isNotEmpty) {
selectedColorId == snapshot.data![0].id;
}


return _ColorPicker(
colors: snapshot.hasData ? snapshot.data! : [],
selectedColorId: selectedColorId,
);
})
,

======== Exception caught by widgets library =======================================================

The following _CastError was thrown building FutureBuilder<List<CategoryColor>>(dirty, state: _FutureBuilderState<List<CategoryColor>>#a78fb):

Null check operator used on a null value

답변 1

1

코드팩토리님의 프로필 이미지
코드팩토리
지식공유자

안녕하세요. 

 print(snapshot.data![0]);

위 코드를 작성하신 부분에서 snapshot.data가 null이 될 수 있는데 null이 될 수 없다고 하셔서그렇습니다.

snapshot.data?[0]으로 변경해보세요.

code11님의 프로필 이미지
code11
질문자

감사합니다. 뒷부분에서도 느낌표 무조건 쓰지말라고 일부러 냅두신거라고 설명해 주셧네요 ;> 그부분 고치려다가 이렇게 됐엇거든요

code11님의 프로필 이미지
code11

작성한 질문수

질문하기