Ответ
useFetch — это кастомный хук, часто используемый для упрощения HTTP-запросов. Основные опции:
url— обязательный параметр, адрес запроса.method— HTTP-метод (GET,POST, и т.д.), по умолчаниюGET.headers— объект с заголовками ({ 'Content-Type': 'application/json' }).body— данные для отправки (обычноJSON.stringify(data)).onSuccess/onError— колбэки при успехе/ошибке.initialData— начальное состояние данных до загрузки.dependencies— массив зависимостей для рефетча (как вuseEffect).
Пример:
const { data, loading, error } = useFetch({
url: '/api/users',
method: 'POST',
headers: { 'Authorization': 'Bearer token' },
body: JSON.stringify({ name: 'John' }),
onSuccess: (data) => console.log('Успех:', data),
}); Ответ 18+ 🔞
А, ну вот, опять про эти хуки, да? useFetch, блядь. Слушай, как будто без него нихуя не работает, а на деле — просто обёртка над fetch, чтобы не писать одно и то же по сто раз. Ну ладно, разбираем, что за зверь.
Основные пизюлины, которые в него можно запихнуть:
url— это, блядь, святое. Без адреса куда слать запрос — ты просто мудак, который в пустоту стучится. Обязательный, ёпта.method— ну, тип запроса:GET,POST,PUT,DELETE. Если не указал — по умолчаниюGET, логично же.headers— сюда всякую хуйню проContent-Typeили авторизацию пихаешь. Объектиком, типа{ 'Authorization': 'Bearer твой_токен' }.body— это то, что ты на сервер отправляешь. Обычно его вJSON.stringifyзаворачиваешь, а то сервер обосрётся.onSuccess/onError— колбэки, ёбушки-воробушки. Вызовутся, когда запрос удался или накрылся медным тазом. Удобно, чтобы не городить проверки в основном коде.initialData— начальные данные, пока запрос летит. Чтобы не светитьundefinedи пользователь не охуел.dependencies— массив зависимостей, как вuseEffect. Если что-то в нём поменялось — хук автоматом рефетч сделает. Умно, блядь.
Вот тебе живой пример, смотри:
const { data, loading, error } = useFetch({
url: '/api/users',
method: 'POST',
headers: { 'Authorization': 'Bearer token' },
body: JSON.stringify({ name: 'John' }),
onSuccess: (data) => console.log('Успех:', data),
});
И всё, сука! Возвращает тебе объект с data, loading и error. Сидишь и работаешь, а не изобретаешь велосипед каждый раз. Красота, да и только.