링크 클릭시 페이지 전환되는걸 해보자.
1. component를 활용하여 정리부터 (React의 장점을 써야겠지)
ㄴ Movie.js 페이지 만들고 전달할 값들을 정리해 준다.
import PropTypes from "prop-types";
function Movie({ coverImg, title, summary, genres }) {
return <div>
<img src={coverImg} alt={title} />
<h2>{title} </h2>
<p>{summary}</p>
<ul>
{genres.map((g) => (
<li key={g}>{g}</li>
))}
</ul>
</div>;
}
// Movie.PropTypes = {
// coverImg: PropTypes.string.isRequired,
// title: PropTypes.string.isRequired,
// summary: PropTypes.string.isRequired,
// genres: PropTypes.arrayOf(PropTypes.string).isRequired,
// };
export default Movie;
API에 없는 정보들도 있어 PropTypes는 적용하면 에러가 발생한다.(잠깐 비활성화)
부모 컴포넌트에서 Movie에게 넘겨줄 값들을 할당해야한다.
<div> //Movie 컴포넌트에 전달해주기!
{movies.map((movie) =>
<Movie
key={movie.id}
coverImg={movie.medium_cover_image}
title={movie.title}
summary={movie.summary}
genres={movie.genres}
/>
)}
</div>
2. App.js는 무비리스트를 보여줬지만 화면 전환을 위해 router를 보여줘야한다
ex) http://localhost:3000/movies/123123 => router는 123123에 해당하는 Movie Detail을 보여줄것이다.
반응형
'프론트엔드 > react' 카테고리의 다른 글
| React (12) - router 사용방법 #2 (0) | 2023.04.28 |
|---|---|
| React (12) - router 사용방법 (0) | 2023.04.28 |
| React (11) - API #1 await (0) | 2023.04.27 |
| React (10) - USDtoCOIN Converter, API (0) | 2023.04.27 |
| React(9) - ToDoList 만들기 (0) | 2023.04.25 |