REACT
[React] 영화 사이트
혀누쓰0
2023. 2. 4. 15:21
https://hyunu0504.github.io/movie
영화
hyunu0504.github.io
프로젝트 과정
TMDB에서 제공하는 API를 사용하였습니다.
제공하는 API의 정보를 보고 현재 상영 중, 상영 예정작, 인기 영화를 보여주고 검색할 수도 있고
영화를 클릭했을 때 해당 영화의 상세정보를 보여주는 사이트를 만들고자 했습니다.
useEffect를 사용해서 불필요한 렌더링이 안생기도록 했습니다.
useContext로 데이터를 관리했습니다.
영화 상세 페이지에서 새로고침할 때 클릭한 영화의 ID값이 초기화 되는것을
local storage에 담아서 새로고침해도 보이도록 했습니다.
새로고침을 할때 404에러가 발생해서 확인해보니 깃헙은 SPA를 지원하지 않는다고 해서
react-route-dom의 Browserrouter를 Hashrouter로 변경해서 해결했습니다.
검색창
- 검색을 클릭할때 useRef로 검색창에 focus를 설정했습니다.
- 영화 검색은 최대 18개의 영화가 검색되도록 그리고 이미지가 없는 영화는 검색되지 않도록 했습니다.
현재 상영중, 상영 예정작, 인기 영화
- component를 재활용 했습니다.
- 제목, 줄거리가 일정칸을 넘을시 ...처리 했습니다.
상세페이지
- 현재 영화의 주요정보 ( 줄거리, 감독, 장르, 영화 시간, 개봉일, 평점을 볼 수 있습니다)
- 스틸컷에서 포스터를 클릭하면 이미지를 보여주고 배경을 다시 클릭하면 이미지를 숨깁니다.
- 출연진의 프로필을 보여주고 이미지가 없는 경우에는 기본 프로필을 보여줍니다.
- 일정 스크롤을 내리면 header와 제목 탭을 보여주고 더 내리면 주요정보, 스틸컷, 출연진 탭을 보여줍니다.
디자인
- 가로 1023px, 600px 이하에서 반응형 디자인을 구현하고, styled-components를 사용했습니다.
라이브러리
- 추천 영화 이미지 슬라이더는 리액트 라이브러리 Swiper를 사용했습니다.
- react-spinners 라이브러리를 사용해서 현재 상영중, 상영 예정작, 인기 영화, 추천 영화에 로딩화면을 구현 했습니다.