- Створено репозиторії
goit-react-hw-04-movies
- При здачі домашньої роботи є посилання: на вихідні файли і робочу сторінку
проектів на
Netlify
- У стані компонентів зберігається мінімально необхідний набір даних, інше обчислюється
- При запуску коду завдання, в консолі немає помилок і попереджень
- Для кожного компонента є окрема папка з файлом React-компонента і файлом стилів
- Для компонентів описані
propTypes
, і де необхідно,defaultProps
- Все що компонент очікує у вигляді пропів, передається йому при виклику
- Імена компонентів зрозумілі, описові
- JS-код чистий і зрозумілий, використовується
Prettier
- Стилізація робиться тільки
SASS
,CSS-модулями
абоStyled Components
. Можна використовувати бібліотеки компонентів.
Створи базову маршрутизацію для програми пошуку і зберігання фільмів. Прев'ю робочого додатку дивись за посиланням.
Для бекенда використовуй themoviedb.org API. Необхідно зареєструватися (можна ввести довільні дані) і отримати API-ключ. У цій роботі будуть використовуватися такі ендпоінти.
- https://developers.themoviedb.org/3/trending/get-trending - список найпопулярніших фільмів на сьогодні для створення колекції на головній сторінці.
- https://developers.themoviedb.org/3/search/search-movies - пошук фільму по ключовому слову на сторінці фільмів.
- https://developers.themoviedb.org/3/movies/get-movie-details - запит повної інформації про фільм для сторінки кінофільму.
- https://developers.themoviedb.org/3/movies/get-movie-credits - запит інформації про акторський склад для сторінки кінофільму.
- https://developers.themoviedb.org/3/movies/get-movie-reviews - запит оглядів для сторінки кінофільму.
У додатку повинні бути наступні маршрути. Якщо користувач зайшов по неіснуючому маршруту, його необхідно перенаправляти на домашню сторінку.
'/'
- компонент<HomePage>
, домашня сторінка зі списком популярних кінофільмів.'/movies'
- компонент<MoviesPage>
, сторінка пошуку фільмів по ключовому слову.'/movies/:movieId'
- компонент<MovieDetailsPage>
, сторінка з детальною інформацією про кінофільми./movies/:movieId/cast
- компонент<Cast>
, інформація про акторський склад. Рендериться на сторінці<MovieDetailsPage>
./movies/:movieId/reviews
- компонент<Reviews>
, інформація про огляди. Рендериться на сторінці<MovieDetailsPage>
.
Додай асинхронне завантаження JS-коду для маршрутів додатки використовуючи
React.lazy()
і Suspense
.