ДЕМО

Github Pages

ТЕХНОЛОГИИ

SASS TypeScript React React Router Redux Toolkit

ФУНКЦИОНАЛ

  • Адаптивные стили CSS @media query
  • Получение пицц с бэкенда MockAPI
  • Управление состоянием Redux Toolkit
  • Эффект во время ожидания загрузки пицц Skeleton
  • Навигация без перезагрузки страницы React Router
  • Фильтрация пицц по категории Axios, Redux Toolkit
  • Сортировка пицц по популярности, цене и алфавиту Axios, Redux Toolkit
  • Поиск пицц по имени Axios, useContext, optimization with Lodash.debounce
  • Отображение параметров фильтрации/сортировки в URL qs, useNavigate, Redux Toolkit
  • Пагинация Redux Toolkit
  • Оптимизация перерисовки компонентов useCallback, React.memo
  • Оптимизация для JS build Code Splitting, Tree Shaking, Reexport
  • Динамический импорт React Loadable, React.lazy

БИБЛИОТЕКИ

  • Запрос на сервер: axios
  • Скелетон (ContentLoader): react-content-loader
  • Роутинг: react-router-dom
  • Пагинация: react-paginate
  • Управление состоянием: @reduxjs/toolkit
  • Отложенное исполнение кода (в поле для поиска): lodash.debounce
  • Отображение параметров фильтрации/сортировки в URL: qs, react-router-dom (useNavigate), @reduxjs/toolkit
  • Генерация CSS classNames: clsx
  • Контроль перерисовки компонентов: ahooks -> useWhyDidYouUpdate
  • Загрузка компонентов с помощью динамического импорта: react-loadable, React.lazy