Axios
npm install axios --save
이미지 배너 생성하기
useEffect(() => { fetchData(); }, []); const fetchData = async () => { // 현재 상영중인 영화 정보를 가져오기 const request = await axios.get(requests.fetchNowPlaying) // 여러 영화 중 영화 하나의 ID를 가져오기 // 랜덤으로 숫자를 가져오기 : Math.floor(Math.random() * 길이)이용 const movieID = request.data.results[Math.floor(Math.random() * request.data.results.length)].id; // 특정 영화의 더 상세한 정보를 가져오기(비디오 정보도 포함) const {data: movieDetail} = await axios.get(`movie/${movieID}`, { params: { append_to_response: "videos" }, }) setMovie(movieDetail); }
Styled Component
import { styled } from 'styled-components'; // ... <Container> <HomeContainer> <Iframe width="640" height="360" src={`https://www.youtube.com/embed/${movie.videos.results[0].key}?controls=0&autoplay=1&loop=1&mute=1&playlist=${movie.videos.results[0].key}`} title="YouTube video player" frameborder="0" allow="autoplay; fullscreen" allowfullscreen ></Iframe> </HomeContainer> </Container> // ... const Container = styled.div` display: flex; justify-content: center; align-items: center; flex-direction: column; width: 100%; height: 100vh; ` const HomeContainer = styled.div` width: 100%; height: 100%; `
npm install --save styled-components
const Container = styled.div` display: flex; justify-content: center; align-items: center; flex-direction: column; ` // 위의 Container의 내용을 그대로 이어받고 다음 내용을 추가 const HomeContainer = styled{Container}` width: 100%; height: 100%; `