Router는 변수를 활용한 URL을 지원한다. ---> http://localhost:3000/movies/123123
홈 화면(Home.js)에서 영화제목을 클릭하면 아이디값을 전달해서 http://localhost:3000/movies/123123(id)으로 이동한다.
Detail.js에서는 id값을 userParams 활용하여 불러와 API를 요청해주면 된다.
| App.js <Route path="/movie/:id"> </Route> |
| Moive.js function Movie({ id, coverImg, title, summary, genres }) { return <h2> <Link to={`/movie/${id}`}>{title}</Link> </h2> } |
Movie컴포넌트의 부모 Home컴포넌트에서 id값을 전달해주도록 설정해야 한다.
| Home.js {movies.map((movie) => <Movie key={movie.id} id={movie.id} coverImg={movie.medium_cover_image} title={movie.title} summary={movie.summary} genres={movie.genres} /> )} |
URL의 변경되는 값을 반환해주는 함수 ---> import {userParams} from "react-router-dom";
받은 id로 API fetch 해주면된다.
| Detail.js const {id} = userParams(); console.log (id) -----> {id:`121212`} |
반응형
'프론트엔드 > react' 카테고리의 다른 글
| React (12) - router 사용방법 (0) | 2023.04.28 |
|---|---|
| React (11) - API #2 컴포넌트 활용하기 (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 |