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

home2 게시판 React 게시판 선생님 강의 토대로 프로젝트 제작중 질문있습니다.

선생님 강의 토대로 프로젝트 제작중 질문있습니다.

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

    김창모
    참가자

    json url : "https://yts.mx/api/v2/list_movies.json?sort_by=rating"

    위의  json 을 활용하여 React 프로젝트 제작중 Detail 페이지 제작에서 에러가 발생합니다.

    App.js 에

    <Route exact path="/detail/:id">
    <Detail
    movies={movies}
    />
    </Route>

    라우트를 만들었고

    const [movies, setMovies] = useState();
    const getMovies = async () => {
    const { data: { data: { movies } } } = await axios.get('https://yts.mx/api/v2/list_movies.json?sort_by=rating');
    setMovies(movies);
    setIsLoading(false);
    };
    useEffect(() => {
    getMovies();
    }, []);

     

    위의 코드로 movies 에 해당 데이터를 저장하여 props 를 이용하여

    detail 페이지로 전송하려고 합니다.

     

    Detail.js 에서

     

    let { id } = useParams();                   id를 저장한후

     

    return (
    <div className="container">
    <div className="detail">
    <div className="detail_image">
    <img src={props.movies[id].large_cover_image}/>
    </div>
    <div className="detail_title">{props.movies[id].movies[id].title}</div>
    <div className="detail_yaer">{props.movies[id].year}</div>
    <div className="detail_genres">
    {props.movies[id].genres}
    </div>
    </div>
    </div>
    )

     

    해당코드를 입력하였는데

     

    위와같은 에러가 발생하는 이유가 무엇일까요 

     

    #19416

    codingapple
    키 마스터

    detail/1로 바로 접속하면 그런 에러가 나는 것입니까

    detail/1로 바로 접속하면 movies 변수에 데이터를 저장하지 않은 상태기 때문에 movies[1] 이런거 하면 에러가 나는듯요

    아마 detail 페이지의 useEffect에 movies 데이터 가져오라고 코드짜놓으면 될듯요 

2 글 보임 - 1 에서 2 까지 (총 2 중에서)
  • 답변은 로그인 후 가능합니다.

About

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

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

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