상태에서 가져오는 방식 vs. Provider에서 가져오는 방식
38강 21:58 부분의 currentUserModel 부분에 authProvider에서 가져오는게 아닌 state에 저장된 유저모델
state.model.userList[0]를 넣는건 안되나요? 2개의 차이점을 알고 싶습니다
답변 2
0
currentUserModel 에는 현재 접속중인 유저(나 자신)의 정보를 갖고 있는 UserModel 을 전달해야 합니다.
state.model.userList 는 채팅방에 참여중인 유저들의 UserModel 객체가 저장되어 있는 리스트 이죠.
이 리스트의 0번 index 의 데이터가 항상 현재 접속중인 유저의 정보를 갖는 UserModel 객체라고 보장할 수는 없기 때문입니다. 채팅에 참여 중인 상대방의 UserModel 일 수도 있기 때문에 authProvider 에서 가져오는 것 입니다.
0
그럼 chatScreen의
final userModel = chatModel.userList[1]; 이 코드도 부분도 문제가 있는거 아닌가요?
그렇다고 authProvider로 모델을 가져오면 나의 모델을 가져오는거라.. 헤깔리네요
1
잘못 답변 드렸습니다. 죄송합니다.
state.model.userList[0] 로 작성하셔도 문제 없습니다.
친구 목록 화면에서 채팅 상대를 터치했을 때,
chat_repository.dart 의 enterChatFromFriendList 함수가 호출되면서
0번 인덱스에 접속 중인 유저의 UserModel, 1번 인덱스에 채팅 상대의 UserModel 객체를 갖는 리스트가 생성되고(아래 코드)
final userModelList = [
await firestore
.collection('users')
.doc(currentUserId)
.get()
.then((value) => UserModel.fromMap(value.data()!)),
await firestore
.collection('users')
.doc(userId)
.get()
.then((value) => UserModel.fromMap(value.data()!)),
];이 리스트를 속성으로 갖는 ChatModel 객체를 생성해서 반환합니다.
2. chat_provider.dart 의 enterChatFromFriendList 함수에서 이 ChatModel 객체를 상태관리 데이터로 등록합니다.
결국, ref.watch(authProvider).userModel 과 state.model.userList[0] 모두 동일한 UserModel 객체이므로 어느 쪽을 사용해셔도 문제 없습니다.
cursor ai가 업데이트 되서 ui가 바뀌었는데 반영은 안될까요?
0
6
1
강의 잘 봤습니다.
0
30
2
앱 초기 진입시 전면광고 관련 질문
0
47
2
25강 앱 아이콘 만드는 방법에서 그래픽 소스는 어디에 있나요?
0
27
1
원하지 않은 외국인 유입
0
73
2
android crud중 c 영상이 12초만 있는 잘린 영상이에요.
0
50
2
자동화 프로그램 프로젝트
0
36
1
198강 (){onTap(e);}의 이해 돕기
0
53
1
Node 관련 질문입니다
0
62
3
구글 소셜 로그인 후 로그인 시 구글에러
0
53
2
실습중(개인 비용 관리 앱) 문의드려요
0
55
2
6강에 비디오가 이상해요
0
46
2
Isar 마지막 업데이트는 2년전입니다.
0
52
0
진입 여부 판단 기준 질문
0
148
3
피그마 first draft 기능 질문
0
88
3
더백님 감사합니다
1
60
1
upup 질문
0
102
2
전체 코드 받을 수 있나요?
0
118
1
채팅목록 스크린에서 ref.listen ()말고 ref.watch().when()을 쓰는 이유는?
0
115
1
14강 인증번호가 안와요ㅠ
1
300
3
아키팩처 패턴
0
146
0
flutter_file_downloader 패키지 설치 후 앱 실행 시 오류 발생!
0
971
3
MessageCardWidget에 프로필 사진과 이름이 남는 이유
0
318
1
vscode로 코딩하기.
0
229
1





