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

최종환님의 프로필 이미지
최종환

작성한 질문수

[Bloc 응용] 실전 앱 만들기 (책 리뷰 앱) : SNS 로그인, Firebase 적용, Bloc 상태 관리, GoRouter

페이징 처리

널 체크

해결된 질문

작성

·

282

0

개남님 페이징처리 하는 부분에서 이런 오류가 생겼네요.

계속 여러번 확인해봤는데 개남님의 코드와 제 코드의 차이점은 잘 모르겠습니다...혹시 어떤 이유인지 알 수 있을까요?

감사합니다!

https://github.com/Bamschool/book_review

 

:ui/hooks.dart:202:13)
#9      _ChannelCallba<…>
Reloaded 1 of 1754 libraries in 196ms (compile: 36 ms, reload: 79 ms, reassemble: 64 ms).
[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: Null check operator used on a null value
#0      SearchBookCubit.search
package:review_book/…/cubit/search_book_cubit.dart:30
#1      EditableTextState._finalizeEditing
package:flutter/…/widgets/editable_text.dart:3079
#2      EditableTextState.performAction
package:flutter/…/widgets/editable_text.dart:2910
#3      TextInput._handleTextInputInvocation
package:flutter/…/services/text_input.dart:1870
#4      TextInput._loudlyHandleTextInputInvocation
package:flutter/…/services/text_input.dart:1753
#5      MethodChannel._handleAsMethodCall
package:flutter/…/services/platform_channel.dart:547
#6      MethodChannel.setMethodCallHandler.<anonymous closure>
package:flutter/…/services/platform_channel.dart:540
#7      _DefaultBinaryMessenger.setMessageHandler.<anonymous closure>
package:flutter/…/services/binding.dart:567
#8      _invoke2 (dart:ui/hooks.dart:202:13)
#9      _ChannelCallba<…>

답변 2

0

최종환님의 프로필 이미지
최종환
질문자

감사합니다!

0

개발하는남자님의 프로필 이미지
개발하는남자
지식공유자

안녕하세요

소스 코드를 확인해보니 https://github.com/Bamschool/book_review/blob/main/lib/src/search/cubit/search_book_state.dart

search_book_state.dart 파일에 SearchBookState 를 생성할때 searchOption도 defualt로 생성하는 소스를 넣어줘야 하는데 그부분이 빠져 있습니다. 그렇게 되기 때문에 cubit에서 searchOption을 강제 추출하기때문에 null 오류가 발생되는 것입니다. 해당 소스 코드 확인은 페이징 처리 강의 영상에 5분 40초 부분을 잘 보시면 searchOption 초기화 부분을 넣어주고 있습니다.

한번 확인해보시면 문제 해결 되실 것입니다.

감사합니다.

최종환님의 프로필 이미지
최종환
질문자

답장 감사합니다. 하지만 여전히 같은 오류가 뜨고있습니다. 아래는 추가한 코드입니다.

 


class SearchBookState extends Equatable {
  final CommonStateStatus status;
  final NaverBookInfoResults? result;
  final NaverBookSearchOption? searchOption;
  const SearchBookState({
    this.status = CommonStateStatus.init,
    this.result,
    this.searchOption = const NaverBookSearchOption.init(query: ''),
  });

  SearchBookState copyWith({
    CommonStateStatus? status,
    NaverBookInfoResults? result,
    NaverBookSearchOption? searchOption,
  }) {
    return SearchBookState(
      status: status ?? this.status,
      result: result ?? this.result,
      searchOption: searchOption ?? this.searchOption,
    );
  }

  @override
  String toString() =>
      'SearchBookState(status: $status, result: $result, searchOption: $searchOption)';

  @override
  List<Object?> get props => [status, result, searchOption];
}

 

[VERBOSE-2:dart_vm_initializer.cc(41)] Unhandled Exception: Null check operator used on a null value
#0      SearchBookCubit.search
package:review_book/…/cubit/search_book_cubit.dart:44
<asynchronous suspension>
개발하는남자님의 프로필 이미지
개발하는남자
지식공유자

안녕하세요.

다음 오류는 다른 오류로 state의 results 가 null 이라서 발생되는 오류 입니다. 영상 중 14:22 부분부터 보시면 results 에 대해서 대응을 하고 있습니다

한번 체크 해보시고 적용해보시면 될 것 같습니다.

최종환님의 프로필 이미지
최종환

작성한 질문수

질문하기