Техническое задание: Рефакторинг и исправление ошибок в React/Redux приложении
Требуется устранить ряд критических проблем в существующем проекте на стеке React/Redux для повышения стабильности, производительности и качества кода.
Основные задачи
- Приведение в порядок состояния фильтров: Логика работы фильтров в приложении нарушена. Необходимо проанализировать и переработать управление их состоянием (возможно, в Redux store или через контекст) для обеспечения предсказуемости и синхронизации с UI.
- Добавление debounce для поля поиска: Реализовать оптимизацию поисковых запросов с помощью функции debounce, чтобы уменьшить количество обращений к API или тяжелых вычислений при вводе текста пользователем.
- Устранение утечек памяти и предупреждений (warnings): Выявить и исправить потенциальные утечки памяти (например, неправильная отписка от событий, таймеров, подписок). Также необходимо очистить консоль от всех предупреждений React и других нежелательных сообщений.
- Закрытие существующих issues: Проработать список открытых issues в репозитории проекта, связанных с описанными выше и, возможно, другими проблемами.
Требования к реализации
- Все изменения должны быть сделаны аккуратно, с минимальным воздействием на рабочую логику, не связанную с багами.
- Код должен соответствовать современным best practices для React/Redux.
- По итогу работы необходимо предоставить краткий отчет о проделанных изменениях по каждому из пунктов.
Ожидаемый результат
Стабильное приложение, в котором корректно работают все фильтры, поиск оптимизирован и не нагружает систему, а в консоли разработчика отсутствуют ошибки и предупреждения.