내일 배움 캠프 4기 TIL(23.01.11)

baesee·2023년 1월 12일
0

내일배움캠프

목록 보기
61/75

Check List

  • scrollView
  • Firebase Create Read Delete 버튼 Comment 구현
  • 해당글의 id를 가지고 해당 글의 데이터 가져오기
  • 해당글의 댓글 가져오기

Problem

  • 해당 글의 id 받아오기
  • 해당 글의 댓글 받아오기

Try

  • 해당 글의 id 받아오기
사용자 데이터 검색(firebase docs 자료)
getAuth()
  .getUser(uid)
  .then((userRecord) => {
    // See the UserRecord reference doc for the contents of userRecord.
    console.log(`Successfully fetched user data: ${userRecord.toJSON()}`);
  })
  .catch((error) => {
    console.log('Error fetching user data:', error);
  });
  
  type 오류가 뜸
// 리스트에 안에 userPost가 들어가서 해당 postId를 받아와야겠다고 생각

 		<FlatList
          showsVerticalScrollIndicator={false}
          contentContainerStyle={{ width: "90%" }}
          keyExtractor={(item) => item.id}
          data={userPosts}
          renderItem={({ item }) => {
            return <CityFlatList userPost={item} />;
          }}
        />
        
// postId를 가져와서 
const postId = userPost.id;

// props로 넘겨줌
onPress={() => navigation.navigate("PostDetail", { postId})}

Solution

// 모든 본물 글을 받아서
const p = query(
      collection(dbService, "list"),
      orderBy("createdAt", "desc")
    );
    onSnapshot(p, (snapshot) => {
      const newLists = snapshot.docs.map((doc) => {
        const newList = {
          id: doc.id,
          ...doc.data(),
        };
        return newList;
      });
      setList(newLists);
    });
  }, []);
  
//  가지고온 postId랑 id같은 list를 filter로 하나만 가져온다 
const DetailcommentList = commentList.filter((el) => el.PostId === PostID);
// 이 DetailcommentList는 해당글이며 DetailcommentList는.map()으로 자료를 뿌려주면 된다.

Learn

DB구조를 정말 잘 짜야한다.

0개의 댓글