인프런 커뮤니티 질문&답변
색상상태관리 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]으로 변경해보세요.






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