← inaro.devAI駆動開発 学習ツール
基礎

条件付きレンダリング

なぜ学ぶか: 「ログイン済みなら名前、未ログインならボタン」— 画面の出し分けはUIの基本で、AIのコードでは&&? :で書かれます。知らないと暗号ですが、パターンは2つだけです。

まずはこの例を見てみましょう

// パターン①: 三項演算子 「〜なら A、でなければ B」
{isLoggedIn ? <p>ようこそ</p> : <button>ログイン</button>}

// パターン②: &&  「〜なら表示(でなければ何も出さない)」
{cartCount > 0 && <span>カート: {cartCount}件</span>}

「? : = 2択」「&& = 出すか出さないか」。出し分けはこの2パターンでほぼ全部です。

JSXの中ではifを直接書けない

代わりに「式」として書けるこの2つで出し分けます。

? :は「〜ならA、でなければB」

例の①は「ログイン済みなら『ようこそ』、でなければログインボタン」。if-elseの1行版です。

&&は「〜なら表示」

例の②は「カートに商品があるときだけ表示」。条件がfalseなら何も出ません。

&&の落とし穴:数値の0

{count && ...}はcountが0のとき、画面に「0」という文字が出てしまいます。例のようにcount > 0 &&と書くのが安全。AIもやる有名なバグです。

ステップ 1 / 3

※ カリキュラムの内容はAIが生成しており、誤りが含まれる場合があります。正確な情報は公式ドキュメント等でご確認ください。