• 로그인
  • 장바구니에 상품이 없습니다.

home2 게시판 React 게시판 useParams로 가져온 값

useParams로 가져온 값

6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 글쓴이
  • #59199

    다민
    참가자
    useParams로 가져온 값이 firebase 내 콜렉션 안에 있는 
    데이터 값과 일치 할 경우 해당 데이터를 가져와 사용하고 싶습니다. 
    where을 사용했고 useParams로 가져온 값을 그대로 입력 했을 때는 
    해당 데이터 값이 출력 되지만 유동적으로 찾는 방법을 모르겠습니다...
    어떤식으로 해결해야 하는지 조언 부탁드립니다. 
    
    
    const uid = useParams();
    console.log(uid);
    
    useEffect(() => {
    dbService.collection("Users").where("uid", "==", "")
     .get()
     .then((querySnapshot) => {
    querySnapshot.forEach((doc) => {
    // doc.data() is never undefined for query doc snapshots
    console.log(doc.data());
     });
     })
     .catch((error) => {
    console.log("Error getting documents: ", error);
     });
     }, [])
    #59223

    codingapple
    키 마스터
    uid가 바뀌면 다시 useEffect에있는거 실행하라고 useEffect를 바꿉시다
    #59515

    다민
    참가자
    말씀해주신대로 해서 잘 해결 되었습니다! 
    근데 질문 메세지를 출력하고 해당 메세지에 대한 답변을 보여주는 식으로 기능을 구현하고 있는데
    질문과 답변을 교차해서 보이게 하는 방법을 잘 모르겠습니다.
    질문state, 답변state 에 대한 map을 이용해서 질문을 반복하는 것 까지는 진행 되었으나, 
    답변을 보이게 했을 때 질문이 두 번 더 추가되어 반복되고 있습니다. 
    두 개의 state를 같은 map에 사용할 수는 없는 걸까요? 
    
    {noneAsk.map((j,q) => (
    <Message key={q} sendAskObj={j.sendAskObj} sussecsAsk={j.sussecsAsk} />
     ))}
    
    와 
    
    {noneAsk.map((j,q) => (
    (answerAsk.map((k) => (
    <Message key={q} sendAskObj={j.sendAskObj} sussecsAsk={j.sussecsAsk} />
    )))
     ))}
    
    위 두 방법으로 했을 때 교차되지 않고 같은 메세지가 반복되거나, 질문이 모두 올라온 후에 답변이 보입니다.
    조언 부탁드립니다... ㅠ
    
    
    #59553

    codingapple
    키 마스터
    noneAsk 하나만 반복문 돌리고 
    그 안에 <Message>, answerAsk[0] 같은거 차례로 보여주면 될듯요 
    
    
    #59603

    다민
    참가자
    감사합니다! 어떻게 해서 답변과 질문의 메세지 UUID가 동일할 경우 함께 보이도록 하는 것 까지는 성공했습니다.
    근데 이제 답변 되지 않은 메세지는 렌더링 되지 않는 문제 발생했습니다. ㅠ...
    https://codingapple.com/wp-content/uploads/hm_bbpui/59603/ibb3u6cp97nuwm7hofpofjdyzlpi3fmg.png 
    위 firebase 내에 doc 에서 데이터 값을 아래 Message로 넘겨 삼항연산자를 사용, 메세지와 답변의 UUID가 동일할 경우 보여주도록 하였습니다. 
    
    그런데 여기서 답변이 달리지 않은 메세지를 어떤 식으로 보여줘야 할 지 잘 모르겠습니다. 컴포넌트를 하나 더 만들어 메세지들을 출력해 답변UUID가 없는
    메세지들만 출력하도록 만들어봤으나 생각대로 되지 않았습니다. ㅜ 조언 부탁 드리겠습니다. 
    
    
    또 위는 현재 메세지를 보낼 때,  답변을 보낼 때 데이터 값을 하나의 doc 필드로 저장하는 변수인데, 혹시 미답변 메세지를 보여주게 하기 위해서 이 부분에서 뭔가 수정해야 할까요?
    #59632

    codingapple
    키 마스터
    답변이 없으면 UUID가 일치하는것도 없으니까 자연스럽게 안보이지않을까요
6 글 보임 - 1 에서 6 까지 (총 6 중에서)
  • 답변은 로그인 후 가능합니다.

About

현재 월 700명 신규수강중입니다.

  (09:00~20:00) 빠른 상담은 카톡 플러스친구 코딩애플 (링크)
  admin@codingapple.com
  이용약관, 개인정보처리방침
ⓒ Codingapple, 강의 예제, 영상 복제 금지
top

© Codingapple, All rights reserved. 슈퍼로켓 에듀케이션 / 서울특별시 강동구 고덕로 19길 30 / 사업자등록번호 : 212-26-14752 온라인 교육학원업 / 통신판매업신고번호 : 제 2017-서울강동-0002 호 / 개인정보관리자 : 박종흠