- Приложение для поиска пород собак
- Посмотреть проект
- Используемое API Dog API
- Пишем функциональные компоненты с хуками в приоритете над классовыми
- Есть разделение на умные и глупые компоненты
- Есть рендеринг списков
- Реализована хотя бы одна форма
- Есть применение Контекст API
- Есть применение предохранителя
- Есть хотя бы один кастомный хук
- Хотя бы несколько компонентов используют PropTypes:DogCard, SearchField
- Поиск не должен триггерить много запросов к серверу Debounce
- Есть применение lazy + Suspense
- Используем Modern Redux with Redux Toolkit
- Используем слайсы
- Есть хотя бы одна кастомная мидлвара
- Используется RTK Query
- Используется Transforming Responses
- Используeтся TypeScript
- Настроен CI/CD
- Для хранения учетных записей пользователей, их Избранного и Истории поиска, используется LocalStorage
- Низкая связанность клиентского кода с хранилищем. Напрямую работа с LocalStorage происходит в отдельном месте в приложении, клиентский код не знает о типе хранилища
- Связь UI и бизнес-логики построена не через команды, а через события. Компонент AuthForm порождает событие, а страницы SignupPage и SigninPage реагируют на него