inflearn logo
강의

Course

Instructor

Flutter Beginner Extension - Instagram Clone 2.0

UI branch

팔로우/언팔로우 버그

345

3846chs0983

3 asked

0

팔로우/언팔로우에서 [UI분기] 제목으로 올라간 강의에 대한 질문입니다. 

.setData({document['email']: true});

이렇게 구현을 하면,

유저A를 팔로우한 상태에서 유저 B를 팔로우하면,

유저 A를 팔로우한다는 정보가 Database 에서 사라집니다.

.setData({document['email']: true});

이게 그냥 덮어쓰는 느낌인것같군요...

이 실험은 A = test@test.com 으로 B = 자기자신

으로 놓고 실험할 수 있습니다.

이 버그를 어떻게 해결할 수 있을까요?

android firebase ios Flutter 클론코딩

Answer 4

2

subin

merge 문제 맞습니다. 추가하니 해결되네요 감사합니다.

0

survivalcoding

예전에 답변 후 추가 질문이 없어서 잘 되는줄 알고 있었습니다.

살펴보니 이전 데이터가 삭제되는 것이 문제네요.

setData() 메서드의 두번째 파라미터로 merge: true 를 다음과 같이 추가해 보시겠어요?

이렇게 하면 user.email 아래에 있는 기존 데이터를 삭제하지 않고 새로운 데이터를 추가하게 됩니다.

제가 이 코드 실행후 구글 로그인이 안되는 현상 때문에 해결이 안되서 확인은 못 해 봤습니다.

혹시 잘 되신다면 답변 달아주시면 완성 코드에 반영과 강의 영상에 부연설명을 추가하는데 도움이 될 것 같습니다.

감사합니다.

// 팔로우
void _follow() {
Firestore.instance
.collection('following')
.document(user.email)
.setData({document['email']: true}, merge: true);

Firestore.instance
.collection('follower')
.document(document['email'])
.setData({user.email: true}, merge: true);
}

// 언팔로우
void _unfollow() {
Firestore.instance
.collection('following')
.document(user.email)
.setData({document['email']: false}, merge: true);

Firestore.instance
.collection('follower')
.document(document['email'])
.setData({user.email: false}, merge: true);
}

0

jisan6565

안녕하세요. 위의 내용으로 팔로우, 언팔로우 문제를 겪고 있습니다.

follower 콜렉션이 만들어지지 않은 상황에서는 updateDAta가 작동하지 않습니다.

처음에 setData나 add로 이메일을 추가하고 난 후 updateData가 작동되어야 할 것 같은데 난감하네요.

혹시나 해서 setData로 콜렉션이 만들어지고 난 후 updateData로 수정하고 동작을 해보니 필드(bool)에서 이메일이

아이디, 도메인, com 이런식으로 나누어 지면서 데이타가 이상하게 들어갑니다.

0

survivalcoding

아앗. 버그가 맞네요. 이런 실수를... 죄송합니다.

지금 테스트를 할 수 없어서 확인은 못 해 봤지만, 일단 setDate 대신 updateData로 고쳐보세요.
_follow(), _unfollow() 모두요.

파일 업로드와 완료까지 기다림 부분 질문입니다.

0

377

1

앱 자체 질문이요!

0

293

2

실행 오류 질문

0

324

3

파일이 안떠요..

0

332

2

혹시 Flutter - PHP - Mysql 강의도 해주시면 안될까요 ?

0

324

1

field does not exist within the DocumentSnapshotPlatform 에러 문의

0

975

1

data[document['email'] 사용법 변경 문의 및 following 함수 문의

0

249

1

파이어베이스 연동문제

0

338

2

프로젝트 세팅 에러

0

349

1

firestore 호출 관련 문의 드립니다.

0

270

1

null safety 적용 후 feed_widget.dart 내 widget.document['likedUsers'] 문의드립니다.

0

633

1

image Picker 질문입니다.

0

199

1

flutter로 만든앱을 배포하고 싶은데, 결제시스템 관련 질문이 있습니다.

0

3783

1

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

0

296

4

setData에 merge: true를 추가해주세요

1

185

0

fire base 설정 중에 sha1 지문을 불러오는 과정에서 오류가 발생합니다.

0

517

1

ios에서 실행

0

158

1

.where 사용법

0

187

2

search_page => detail_post_page 공부 하는도중 Error발생

0

262

1

progressindicator 재질문

0

275

2

DocumentSnapshot과 QuerySnapshot 차이점

0

2628

2

progressindicator 질문

0

255

2

flutter bloc패턴이나 디자인 패턴관련해서 강의계획 혹시 있으세요?

0

318

1

search_page.dart에서 다음과 같은 에러가 나옵니다.

0

624

2