ローディング・エラー・空状態
なぜ学ぶか: 「一覧を表示して」と頼むと、AIは成功パターンの画面だけ作りがちです。でも実際は「読み込み中」「失敗した」「0件だった」が毎日起きます。データを表示するUIの「完成の条件」を、例で見てください。
まずはこの例を見てみましょう
function PostList({ loading, error, posts }: Props) {
// 4つの状態を、上から順に処理していく(定石の形)
if (loading) return <p>読み込み中…</p>;
if (error) return <p>読み込めませんでした。再試行してください。</p>;
if (posts.length === 0) return <p>まだ投稿がありません。</p>;
// ここまで来たら正常表示
return <ul>{posts.map((p) => <li key={p.id}>{p.title}</li>)}</ul>;
}ローディング → エラー → 空 → 正常。この4分岐が揃っていれば「完成」です。
データUIの4状態
①読み込み中 ②エラー ③空(0件)④正常。設計とレビューでは常にこの4つを数えます。AIは④しか作らないことが多いです。
空状態=0件は正常、無言は事故
「まだ投稿がありません。最初の投稿を作りましょう」— 空を案内に変えるのが良いUIです。無言の空白は故障に見えます。
実装は早期リターンの連鎖
例のように、例外的な状態から上から順にreturnしていく形が読みやすく、漏れも見つけやすいです。
AIへの指示テンプレ
最初から「ローディング・エラー・空・正常の4状態を実装して」と頼むと、設計が綺麗になります。
ステップ 1 / 3
※ カリキュラムの内容はAIが生成しており、誤りが含まれる場合があります。正確な情報は公式ドキュメント等でご確認ください。