- Адаптивные стили
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