DocumentSnapshot과 QuerySnapshot 차이점
안녕하세요 강사님 강의잘듣고있습니다!
질문있어 글남기게 되었습니다
강의에서는
Widget _buildBody() {
return SafeArea(
child: StreamBuilder<QuerySnapshot>(
이렇게 하였지만 querySnapshot대신 1) documentSnapshot을 넣으면 왜 오류가 뜨는지 질문드리고싶습니다. 현재 제가 documentSnapshot과 querySnapshot 구분이 안되는거 같습니다.2)두개의 차이점이 무엇인지 여쭤보고 싶습니다 print문을 넣어서 차이점을 확실하고싶은데 두개 다 아래처럼나와 명확히 구분이 안되네요..
[Instance of 'DocumentSnapshot', Instance of 'DocumentSnapshot', Instance of 'DocumentSnapshot']
또 저위 코드에서 <QuerySnapshot>으로 데이터를 받았는데 _buildHasPostBody()에서 데이터를 받을때 List<DocumentSnapshot> documents
처럼 documentSnapshot으로 3) 왜 다른 데이터 형식으로 받는지도 궁금합니다
답변 2
1
StreamBuilder의 stream 으로 어떤 걸 지정했는지에 따라 타입이 달라집니다.
firestore의 collection 은 QuerySnapshot 이라는 걸 리턴하고요. 이 객체에 대해서는
javascript용 문서지만 거의 비슷하니까 참고하시면 이해하시는데 도움이 되실 겁니다.
https://firebase.google.com/docs/reference/js/firebase.firestore.QuerySnapshot
문서에서는 이 객체의 docs 를 forEach 등으로 반복하며 문서들을 꺼낼 수 있다고 되어 있는데, 플러터에서는 docs 대신 data를 씁니다.
즉 collection 스트림에서 QuerySnapshot 을 얻으면 컬렉션 정보가 다 들어있는데 여기서 data 에는 컬렉션에 포함된 모든 문서 정보가 DocumentSnapshot 형태로 들어있습니다.
이 정보를 토대로 UI를 그리기 위해서 _buildHasPostBody()에 DocumentSnapshot을 그대로 전달하고 이 객체에서 원하는 값들을 활용하여 UI를 그리는 것입니다.
파일 업로드와 완료까지 기다림 부분 질문입니다.
0
374
1
앱 자체 질문이요!
0
290
2
실행 오류 질문
0
321
3
파일이 안떠요..
0
330
2
혹시 Flutter - PHP - Mysql 강의도 해주시면 안될까요 ?
0
320
1
field does not exist within the DocumentSnapshotPlatform 에러 문의
0
972
1
data[document['email'] 사용법 변경 문의 및 following 함수 문의
0
243
1
파이어베이스 연동문제
0
334
2
프로젝트 세팅 에러
0
346
1
firestore 호출 관련 문의 드립니다.
0
266
1
null safety 적용 후 feed_widget.dart 내 widget.document['likedUsers'] 문의드립니다.
0
628
1
image Picker 질문입니다.
0
196
1
flutter로 만든앱을 배포하고 싶은데, 결제시스템 관련 질문이 있습니다.
0
3777
1
firebasestore에서 data를 가져올 때 의문이 있습니다.
0
291
4
setData에 merge: true를 추가해주세요
1
182
0
fire base 설정 중에 sha1 지문을 불러오는 과정에서 오류가 발생합니다.
0
513
1
ios에서 실행
0
154
1
.where 사용법
0
185
2
search_page => detail_post_page 공부 하는도중 Error발생
0
259
1
progressindicator 재질문
0
269
2
progressindicator 질문
0
253
2
flutter bloc패턴이나 디자인 패턴관련해서 강의계획 혹시 있으세요?
0
315
1
search_page.dart에서 다음과 같은 에러가 나옵니다.
0
620
2
login_page.dart 에서 다음과 같은 에러가 납니다.
0
556
6





