Работа принимается
- HTML, CSS, JS-файлы и изображения должны быть в папке src.
- Инфраструктурные файлы проекта созданы через CRA.
- Сборка и запуск проекта выполняются без ошибок.
-
В проекте есть:
- файлы index.css, index.js,
- файл index.html внутри директории public
- директория blocks,
- директория components с файлами App.js, Card.js, ImagePopup.js, PopupWithForm.js, Main.js, Header.js, Footer.js,
- файл utils с файлом api.js,
- директория README.md,
- файл .gitignore.
- Стили портированы.
-
Кодстайл:
- имена переменных и функций должны быть написаны в camelCase;
- имена классов — существительные с прописной буквы;
- имена переменных — существительные;
- имя функции отражает то, что она делает.
- транслит,
- неуместные сокращения.
Для именования запрещены:
-
Разметка портирована в JSX:
- Разметка заключена в ( );
- Разметка вынесена в соответствующие ей компоненты.
-
Компоненты:
- Хуки не используются внутри условных блоков;
- Хуки вызываются в основной функции компонента;
- При использовании классовых компонентов эффекты описаны внутри методов жизненного цикла компонента.
- Запрос к API за информацией о пользователе и массиве карточек выполняется единожды, при монтировании.
- Все стейт-переменные из брифа созданы и определены внутри указанного в брифе компонента.
- Начальное состояние стейт-переменных содержит корректный тип данных.
-
Функциональность из брифа реализована:
- На странице отрисовывается информация о пользователе и карточки;
- Модальные окна открываются при нажатии на соответствующий элемент интерфейса;
- Модальные окна закрываются при нажатии на иконку закрытия.
React
Работа отклоняется от проверки
- При сборке или запуске проекта возникают ошибки.
- Разметка не портирована в JSX.
- Часть функциональности не реализована: не описано более трех компонент.
- Работа содержит вопросы или просьбы о помощи к ревьюеру.
- На повторных итерациях не исправлены критические замечания.