Специальность 09.02.09 Веб-разработка | Квалификация: Разработчик Веб-приложений
Научиться использовать хук useEffect для загрузки данных и управления побочными эффектами в React.
Хук useEffect — это один из основных хуков React, который позволяет выполнять побочные эффекты в функциональных компонентах. Основные понятия:
Синтаксис useEffect:
Варианты использования useEffect:
[] — эффект выполняется один раз после монтирования компонента (аналог componentDidMount)[dep1, dep2] — эффект выполняется при монтировании и при изменении любой из зависимостейВ этой лабораторной работе мы используем useEffect для загрузки данных о курсах с локального JSON-файла.
Реализовать загрузку данных о курсах с локального JSON-файла с использованием хука useEffect.
В папке public создайте файл courses.json с данными о курсах:
Добавьте следующее содержимое:
Откройте файл src/pages/Courses.js и добавьте импорт useEffect и useState:
Замените статический массив coursesData на состояние:
Добавьте эффект, который будет загружать данные при монтировании компонента:
Замените использование coursesData на courses в методе map():
Добавьте состояние для отслеживания процесса загрузки:
Обновите эффект загрузки:
Добавьте отображение состояния загрузки и ошибки:
Загрузка курсов...
Запустите проект и убедитесь, что данные о курсах загружаются из JSON-файла и отображаются на странице.
Если вы видите индикатор загрузки, а затем список курсов, значит, эффект реализован верно.
Если вы получаете ошибку CORS, убедитесь, что проект запущен через npm start, а не через открытие HTML-файла напрямую.
Реализуйте автоматическое обновление данных каждые 5 минут с использованием setInterval в useEffect.
| Критерий | Баллы |
|---|---|
Использован useEffect |
3 |
| Загрузка данных из JSON | 3 |
| Обработка состояния загрузки | 2 |
| Обработка ошибок | 2 |
| Итого | 10 |
Эта лабораторная работа связана с профессиональной компетенцией:
На демонстрационном экзамене вам потребуется загружать данные из внешних источников и обрабатывать их, что является важной частью интеграции клиентской части с серверной.
Согласно документу КОД 09.02.09-1-2025, на экзамене оценивается: