Gamerhouse (React.js)
https://tetianazaporozhets.github.io/gamershouse/
Этот проект представляет собой веб-приложение, скорее всего, e-commerce (интернет-магазин), в котором можно просматривать продукты, добавлять их в корзину и управлять покупками.
React для построения пользовательского интерфейса.
React Hook Form для валидации и управления формами.
React Router для маршрутизации.
Slick Carousel для слайдера.
CSS Modules для стилизации компонентов.
useState: Для управления состоянием компонентов, например, количества видимых товаров.
useCallback: Для оптимизации функций, предотвращения их переопределения при каждом рендере.
useContext: Для доступа к контексту корзины.
useNavigate: Для программной навигации в React Router.
useMemo: Для мемоизации вычисленных значений, например, для поиска продукта по ID.
useLocation для сброса состояния поиска при изменении маршрута.
useForm (из React Hook Form): Для управления состоянием формы и валидацией.
useReducer для управления состоянием корзины.
кастомный хук useFetch: Для обработки запросов к API.
useParams из react-router-dom используется для извлечения productId из параметров URL.
Компоненты обернуты в memo, чтобы избежать ненужных перерисовок, если пропсы или состояние не изменяются.