yamoo9 / likelion-FEQA

질문/답변 — 프론트엔드 스쿨, 멋사
29 stars 9 forks source link

[LAB-7] 작성 등록 후 넘어갈 때 id 값을 어떻게 가져올지 모르겠습니다. #248

Closed hayeonn2 closed 1 year ago

hayeonn2 commented 1 year ago

질문 작성자

김하연

문제 상황

제가 지금 QuestionWrite.jsx 에서 작성글 POST를 하고있습니다. 선생님께서 조언해주신대로 코드를 수정했습니다. (documentKey 부분) 그리고 데이터를 밑과 같이 넘겨야 리스트 페이지에 나오게 되어서 수정했습니다.

// 2. 도큐멘트 추가 요청
      const docRef = await addDoc(collection(dbService, "question"), {
        category: selected,
        title: inputTitle,
        content: inputContent,
        hashtag: inputHashTagList,
        image: inputFileImage,
        date: "",
        hits: 0,
        id: "",
        like: 0,
        user: {
          email: "",
          nickname: "",
          profile: "",
          userId: "",
        },
      });

이때.. 상세페이지를 담당 한 분이 useParams()로 id 값을 받아와 이런식으로 넣어주셨습니다.

스크린샷 2023-03-27 오전 11 11 46

근데 저도 id 값을 넘겨야 해당 페이지가 나오게 되는데.. 이 때 id 값을 어떻게 찾아야 하나요? 저는 작성페이지라 그런지 useParams()는 작동하지 않는 것 같고.. 이 안의 id 값을 어떻게 넘겨주어야 할지 잘 모르겠습니다. 😭

제가 해본 방법은 documentKey의 id값을 받으려했는데 생각해보니.. 애초에 id값을 제가 생성해야 찾을 수 있는지.. 근데 useParams()는 안되어서 어떤식으로 아이디값을 생성해줘야할지 모르겠습니다.

프로젝트 저장소 URL

https://github.com/Likelion-lucky7/DECO/tree/question-write-category%23109

브랜치명 : question-write-category#109

yamoo9 commented 1 year ago

브랜치 업데이트 ??

@hayeonn2 님 질문에는 코드를 수정 했다고 말했지만, 아래 남겨진 브랜치 코드는 그렇지 않습니다.

현재 question-write-category#109 브랜치의 QuestionWrite.jsx 코드는 업데이트 되어 있지 않습니다. 브랜치에 반영이 안된 경우, ZIP 파일로 압축해서 첨부해주세요.

라우트 상태 공유 방법 참고

그리고 해당 문제는 navigate 함수에 state를 설정해서 문제 해결할 수 있습니다. (참고) 유사한 질문에 답변한 글(https://github.com/yamoo9/likelion-FEQA/issues/199#issuecomment-1479401260) 을 참고해보세요. 😃