/
spirzen
/
it-code-examples
Обзор
Документация
Войти
/
spirzen
/
it-code-examples
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/javascript/lab-1145-005/main.jsx
35 строк
938 B
Spirzen
Code migration pack
09 июн 2026, 01:41
09 июн 2026, 01:41
cebc284
Код
Авторство
О чём код?
import { useEffect, useState } from 'react'; function PostPage({ id }) { const [post, setPost] = useState(null); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { const controller = new AbortController(); async function load() { setLoading(true); setError(null); try { const res = await fetch( `https://jsonplaceholder.typicode.com/posts/${id}`, { signal: controller.signal }, ); if (!res.ok) throw new Error(`HTTP ${res.status}`); setPost(await res.json()); } catch (e) { if (e.name !== 'AbortError') setError(e.message); } finally { setLoading(false); } } load(); return () => controller.abort(); }, [id]); if (loading) return <p>Загрузка…</p>; if (error) return <p>Ошибка: {error}</p>; return <h1>{post.title}</h1>; }