https://github.com/yuriyvyatkin/ra-hw-8.2-use-json-fetch-backend
ДЗ №2 к лекции «hooks, Context API» курса «React» Нетологии
https://github.com/yuriyvyatkin/ra-hw-8.2-use-json-fetch-backend
Last synced: 2 months ago
JSON representation
ДЗ №2 к лекции «hooks, Context API» курса «React» Нетологии
- Host: GitHub
- URL: https://github.com/yuriyvyatkin/ra-hw-8.2-use-json-fetch-backend
- Owner: yuriyvyatkin
- Created: 2021-11-24T09:48:07.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2021-11-25T02:01:54.000Z (almost 4 years ago)
- Last Synced: 2025-02-23T00:44:16.901Z (8 months ago)
- Language: JavaScript
- Homepage:
- Size: 22.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Домашнее задание №2 к лекции «hooks, Context API»
[Ссылка на Heroku](https://use-json-fetch-backend-2021.herokuapp.com/)
useJsonFetch
===Реализуйте кастомный хук `useJsonFetch`, который позволяет с помощью `fetch` осуществлять HTTP-запросы.
Использование этого хука должно выглядеть следующим образом:
```javascript
const [data, loading, error] = useJsonFetch(url, opts);
```где:
* `data` - данные, полученные после `response.json()` (не Promise, а именно данные)
* `error` - ошибка (ошибка сети, ошибка ответа - если код не 20x, ошибка парсинга - если пришёл не JSON)
* `loading` - boolean флаг, сигнализирующий о том, что загрузка идётПокажите использование этого хука на примере трёх компонентов, каждый из которых делает запросы на следующие адреса (backend возьмите из каталога `backend`):
* GET http://localhost:7070/data - успешное получение данных
* GET http://localhost:7070/error - получение 500 ошибки
* GET http://localhost:7070/loading - индикатор загрузки