Техническое задание: Рефакторинг и исправление ошибок в React/Redux приложении
Цель проекта
Стабилизировать работу веб-приложения, устранив критические ошибки, влияющие на пользовательский опыт и производительность. Фокус - на корректной работе системы фильтрации и поиска.
Ключевые задачи
1. Рефакторинг системы фильтров
- Привести состояние фильтров (Redux store и локальный state компонентов) в предсказуемый и управляемый вид.
- Устранить рассинхронизацию между UI и актуальным состоянием фильтров.
- Обеспечить корректное применение и сброс множественных фильтров.
2. Оптимизация поиска с debounce
- Интегрировать механизм debounce для поля поиска, чтобы уменьшить количество лишних запросов к API и перерисовок.
- Оптимальная задержка должна быть определена и согласована.
3. Устранение утечек памяти и предупреждений
- Найти и устранить утечки памяти, связанные с подписками, таймерами или unmounting компонентов.
- Убрать все критические предупреждения (warnings) в консоли разработчика.
4. Закрытие существующих issues
- Проанализировать и исправить ошибки, описанные в открытых issues (например, некорректное поведение UI при определенных действиях пользователя).
5. Следование best practices
- Код должен быть чистым, читаемым и соответствовать современным стандартам React/Redux.
- По итогу работы предоставить краткий отчет о внесенных изменениях.
Требования к исполнителю
- Глубокое понимание React, Redux (включая Redux Toolkit) и жизненного цикла компонентов.
- Опыт работы с хуками (useEffect, useMemo, useCallback), устранения утечек памяти и оптимизации производительности.
- Умение читать и анализировать существующий код.