Уважаемые специалисты по React, буду очень признателен, если кто-то посмотрит как было выполнено тестовое задание. Сроки довольно сжатые и я все время работал на vue js + vuex.
Как показала практика он сильно отличается от react + redux.
Понимаю что дорабатывать там много всего нужно, важно указать на грубые ошибки.
Текст задания:
Реализовать на реакте интерфейс быстрого поиска. Состоит из двух частей.
1. Верхняя панель: поисковая строка с инпутом. В процессе ввода букв запроса, появляются и конкретизируются саджесты под инпутом и результаты.
2. Результаты: список из 10 результатов + пагинация. Параметры в урл добавлять не требуется.
(
я понял, что пагинация на клиенте)
Быстрый поиск означает, что результаты обновляются в процессе ввода запроса в поисковую строку. Для хранения минимального состояния приложения (текущая страница пагинации, текущий запрос) нужно использовать redux. Бэкенд не нужен (все моки данных можно хранить прямо в json-файле, читать прямо оттуда), дизайн не требуется.
Важно продемонстрировать умение декомпозировать интерфейс на компоненты, давать им понятные имена.
У меня получился следующий код:
https://codesandbox.io/s/github/vito2005/mrtest
https://ctm1w.csb.app/
- данные забираю из json через промисы и сет таймаут
- json - массив городов с адресами и координатами
- делаю поиск в json по началу названия города
- компоненты самые простые: 1. компонент автокомплит для suggestions; 2. компонент контент для результатов; 3. пагинация внутри контента
- два асинхронных экшн в редакс для запроса suggestions и результатов