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

차현철님의 프로필 이미지
차현철

작성한 질문수

Flutter 입문 확장판 - 인스타그램 클론 2.0

좋아요 로직

firebasestore에서 data를 가져올 때 의문이 있습니다.

작성

·

176

0

안녕하세요. 선생님 수업 잘 듣고 있습니다.

다름이 아니라 firebase에서 data를 가져올 때, documentSnapshot을 사용하여 데이터를 가져오고 있습니다.

근데 feed_widget에서 `var comment = widget.document['comment'] ?? 0`이 부분을 주석으로 바꾸지 않으면

flutter에서 오류가 나고 화면이 나오지 않아서 일단 주석처리를 해놓았습니다.

그래서 firebase에 필드가 없으면 불러오는 `widget.document['comment']`구문이 작동되지 않는다고 생각하고 있었습니다.

근데 _like()함수에서는 기존에 필드['likedUsers']가 없어도 오류가 나지 않습니다. from함수를 쓰는 차이점이 있긴 한데,

언제 필드에 없는 변수를 접근할 수 있는지 모르겠습니다.

답변 4

1

차현철님의 프로필 이미지
차현철
질문자

아아 이제 comment필드가 없어도 오류가 나지 않습니다!!

제가 search해본다고 한게 정작 공식 사이트에서는 찾아보질 못했네요.

소중한 답변 감사합니다.

0

오준석님의 프로필 이미지
오준석
지식공유자

아악..

firestore가 업데이트 되면서 또 사용법이 바뀌었네요.

https://pub.dev/packages/cloud_firestore/example

DocumentSnapshot 에서 data() 로 데이터를 꺼내야 하네요.

widget.data()['comment'] 로 하면 될 것 같은데요?

0

차현철님의 프로필 이미지
차현철
질문자

var comment = widget.document['comment'] ?? 0;

입력시 나타나는 오류 화면입니다. 그리고 App 화면도 빨간색으로 오류가 뜹니다.

일단 강의를 계속 진행하기 위해

코드를 만들었더니 해결되었습니다.

0

오준석님의 프로필 이미지
오준석
지식공유자

혹시 var comment = widget.document['comment'] ?? 0 부분에서 어떤 에러가 발생하나요?

코드는 comment 가 없으면 0을 초기값으로 사용하겠다는 코드라 문제가 없을텐데요.

run 탭에 표시되는 에러 메시지를 알려주시면 좋겠습니다.

차현철님의 프로필 이미지
차현철

작성한 질문수

질문하기