-
При чтении данных я использовал паттерн "Адаптер", для того чтобы перестроить объект для более удобного дальнейшего использования.
-
При повторном чтении файла data.json (Во время интервального вызова), происходит перезапись старой версии, в которую могут быть внесены изменения самим пользователем (Например при выборе товара, его количество уменьшается, что сохраняется в сторе). Поэтому при недостатке информации в ТЗ о том что дальше делать с данными, полученными при повторном чтении файла data.js я вынужден был отменить перезапись исходного файла и оставить всё в изначальном состоянии. Можно было бы предположить, что необходимо произвести сравнение версий и внести изменение в актуальное состоянии в соответсвии с новыми данными, но т.к в ТЗ этого нет, то я не стал ничего делать.
-
Было решено разделить хранилище на три части. В одной храняться данные для вывода и их сопоставления из файла names.json, в другой храниться данные о корзине и общей сумме товаров и в третьей храниться текущий курс USD/RUB.
-
При реализации функции подсветки полей необходимо было пропустить запуск этой функции при монтировании компонента, в противном случае поле подсвечивалось сразу при запуске приложения. Для этого был создан кастомный хук "useComponentDidMount". Его цель - проверка на первичную отрисовку.
-
Данные в корзине и таблице связаны. При изменении количества товаров для покупке в корзине, меняется и количество оставшихся товаров в таблице. При условии, когда выбрано максимальное количество товара в корзине, товар в таблице пропадает из списка.
-
При изменении курса валют, данные в корзине так же изменяются в соответствии с курсом.
-
Notifications
You must be signed in to change notification settings - Fork 0
🔥🔥🔥 Тестовое задание от Employcity
Qudenaza/test
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
About
🔥🔥🔥 Тестовое задание от Employcity
Topics
Resources
Stars
Watchers
Forks
Releases
No releases published
Packages 0
No packages published