• 카테고리

    질문 & 답변
  • 세부 분야

    풀스택

  • 해결 여부

    미해결

선생님 데이터를 가져오는 부분, 전달하는 부분에 대해서 질문이 있습니다.

20.10.03 22:28 작성 조회수 99

0

안녕하세요.

현재 강의를 먼저 보고, 혼자 만들어 보는 방식으로 공부를 진행중입니다.

공부중 Favorite 페이지를 구현함에 있어서 문제가 생겼습니다. 

먼저 선생님께서는 props에서, userFrom은 localStorage에서, movieId는 match에서 가져오시고,

movieInfo부분은 useEffect에서 movie state에 담아 전달하셨지만, 저는 movieId는 movie state에서, userFrom은

auth가 동작할 때 props로 전달해 준 user.userData에 있는 id 정보로 전달해 주려고 했습니다.

여기서 문제가 발생했는데, favorite컴포넌트에서 axios로 데이터를 전달할 때, 데이터가 전달되지 않았습니다.

movieDetail.js에서 movie state나, props.user.userData의 값이 비동기 통신을 통해서 받아오기 때문에 favorite의 useEffect가 props를 전달받기 전에 먼저 실행되어 발생하는 문제로 보였는데, 이런 문제는 어떻게 해결하면 좋을까요?

favorite.js의 useEffect 부분을 다음과 같이 변경하니깐 정상 작동은 하는거 같지만... 더 좋은 방법이 있을거 같아서

질문드립니다! (서버단 코드는, request를 그대로 console.log찍도록 했습니다.)

추가적으로, 다음 코드에서 setMovie 후 로그로 data를 찍으면 api에서 가져온 데이터가 잘 나오지만, 

movie를 찍으면 빈 객체가 나오는데, 이 부분에 대해서도 왜 이러는지 궁금증이 생겨서 질문합니다.

 

똑같이 클론코딩했다면 할 필요가 없는 질문인데, 혼자 해보다가 생긴 궁금증이라 죄송스럽기도 하네요. 

항상 감사합니다.

답변 0

답변을 작성해보세요.

답변을 기다리고 있는 질문이에요.
첫번째 답변을 남겨보세요!