inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

GetIt 으로 로컬데이터를 가져오고 출력하기

해결된 질문

673

code11

작성한 질문수 14

0

안녕하세요

현재 스케쥴캘린더  스트림 빌터와 리스트세퍼레이트를 통해

데이터를 화면에 출력하는 부분까지 수강했습니다.

이 부분까지 수강하고 게시판을 만들어 봤는데요

데이터 테이블은 제목과 내용,ID로 구성 되어있고

 

----contents_screen.dart----

글 목록에 있는 제목을 누르면 해당 id값을 where로 조회해서 글 내용을 보여주는 부분을 만들엇는데

 

 

----content_view_screen.dart----

 

 

StreamBuilder<List<Content>>(

 

    stream: GetIt.I<LocalDatabase>().watchContents(),

 

    builder: (context, snapshot) {

 

      List contents = [];

 

 

      if (snapshot.hasData) {

 

        contents = snapshot.data!

            .where((element) => element.id == pushId)

            .toList();

      }

      final String title = contents[0].title;

      final String innercontent = contents[0].innercontent;

스트림 빌더를 사용하여 출력이 되긴 합니다만 오류가 나옵니다.

The following RangeError was thrown building StreamBuilder<List<Content>>(dirty, state: _StreamBuilderBaseState<List<Content>, AsyncSnapshot<List<Content>>>#e5310):

RangeError (index): Invalid value: Valid value range is empty: 0 

이것을 없애려면 어떤 방법을 써야하나요.

비동기 처리가 필요한듯 한데 맞나요?

 

 

Flutter 클론코딩

답변 1

1

코드팩토리

안녕하세요!

에러 내용은 리스트의 0번 데이터가 존재하지 않는다는 뜻입니다.

로직이 잘못된듯 보입니다.

데이터가 없는데 데이터가 있는것처럼 코드를 작성한 부분을 찾아보세요!

0

code11

아직 내공이 부족해서 전부 수강하고 다시 만들어봐야겠어요. 아마 화면이 바뀌면서 map을 다시 읽기 전에 출력하라고해서 오류가 난것 같습니다. 원인은 알겠는데 고치진 못하겟네요 ㅋㅋ

0

code11

해결했습니다.

 

변수 선언하는 위치를 변경하고 FutureBuilder로 변경후 하나만 조회하는 싱글쿼리를 추가했습니다.

LocationPermission.denied관련 질문입니다

0

598

1

videocontrollor dispose

0

443

1

onlogotap함수의 video nullable관련질문

0

398

1

setState 사용 차이

1

466

1

블로그 웹앱 배포 방법

0

524

1

sizedbox 위젯에 primary = RED_COLOR

1

436

1

개념 강의 순서 질문

0

414

1

materialstateProperty 다른 메소드관련질문

0

420

1

내 노트 모아보기

0

507

1

SafeArea (iPhone, Android)

0

411

1

web view 실행 안됩니다.

0

413

1

랜덤 숫자 생성기 프로젝트 관련

0

550

2

안도르이드 애뮬레이터 질문

0

390

1

super를 사용하는 건, 부모와 자식 클래스의 파라미터 이름이 꼭 같아야하나요?

0

480

1

선생님 flutter device를 크롬으로 했을때 http 통신이 안됩니다..

0

791

1

no element

0

447

1

암호화

0

242

1

책과 강의

0

394

1

voidcallback함수와 클래스내에 변수선언에 관한질문

0

481

1

android studio 세팅

0

492

1

오늘도 출근 세팅하기

2

567

1

재사용 클래스 임폴트 방법

0

492

1

가상화를 못하는 CPU인건가요? 확인 부탁드립니다.

0

406

1

flutter dispose 관련

0

1401

2