50일 차 회고
- 파이어베이스 마이페이지 프로필 여러개 수정
fireBase에 addDoc을 통해 프로필 닉네임, 자기소개 추가 성공하였고
query를 통해 수정된 프로필을 가져오게 되면 여러개가 나오게 된다.
useEffect(() => {
// 1. onSnapshot API를 이용해서 todos 콜렉션에 변경이 생길 때 마다
// 2. todos 콜렉션 안의 모든 document들을 불러와서 setTodos 한다.
const q = query(
collection(dbService, 'profile'),
orderBy('createdAt', 'desc')
// where('userId', '==', authService.currentUser?.uid)
);
onSnapshot(q, (snapshot) => {
const newProfiles = snapshot.docs.map((doc) => {
console.log('doc', doc.data());
const newProfile = {
id: doc.id,
...doc.data(),
};
return newProfile;
});
setProfile(newProfiles);
});
}, []);
const profileFirst = profile[0];
원인: 이미 map으로 돌려 첫번째 객체를 가져온 상태에서 한번더 맴을 돌렸으니 당연히 안되었던것
{profileFirst.map((item) => (
<View>
<ProfileId>{item.nickName}</ProfileId>
<ProfileText>{item.profileText}</ProfileText>
</View>
))}
<View>
<ProfileId>{profileFirst.nickName}</ProfileId>
<ProfileText>{profileFirst.profileText}</ProfileText>
</View>
<View>
<ProfileId>{profileFirst?.nickName}</ProfileId>
<ProfileText>{profileFirst?.profileText}</ProfileText>
</View>