"use client"; "use client"; import React, { useEffect, useState } from "react"; interface FeedItem { id: string; title: string; link: string; pubDate: string; contentSnippet?: string; } export default function FeedList() { const [feeds, setFeeds] = useState([]); const [loading, setLoading] = useState(true); const [error, setError] = useState(null); useEffect(() => { fetchFeeds(); }, []); const fetchFeeds = async () => { try { const response = await fetch("/api/feeds"); if (!response.ok) { throw new Error("フィードの取得に失敗しました"); } const data = await response.json(); setFeeds(data); setLoading(false); } catch (err) { setError(err instanceof Error ? err.message : "エラーが発生しました"); setLoading(false); } }; if (loading) return
読み込み中...
; if (error) return
エラー: {error}
; return (
{feeds.map((feed) => (

{feed.title}

{feed.pubDate}

{feed.contentSnippet && (

{feed.contentSnippet}

)} オリジナル記事へ
))}
); }