• はじめに 今日は、Reactでの条件付きレンダリングについて探検します。条件付きレンダリングを使うと、特定の条件に基づいて異なるコンテンツを表示することができます。GeekとGalという2人のキャラクターの助けを借りて、このトピックに取り組みましょう!
Gal Normal

Reactアプリで条件に応じて異なるコンテンツを表示する必要があったことはある?

Geek Curious

あると思うけど、条件付きレンダリングについてもっと詳しく教えてもらえる?

Gal Happy

もちろん!Reactでの条件付きレンダリングとは、特定の条件に基づいてコンテンツを表示することなの。UIのための"if"文のようなものよ!

  • 条件付きレンダリングの手法
Gal Pleased

Reactで条件付きレンダリングを行う方法はいくつかあるわ。一般的な方法の1つは、三項演算子を使うことね。例を見せてあげる!

function WelcomeMessage({ isLoggedIn }) {
    return (
        <div>
            {isLoggedIn ? (
                <h1>Welcome back, user!</h1>
            ) : (
                <h1>Please log in.</h1>
            )}
        </div>
    );
}
Geek Happy

なるほど!"isLoggedIn"プロップに基づいて、コンポーネントは「Welcome back, user!」または「Please log in.」のどちらかを表示するんだね。

Gal Happy

そうよ!もう一つの方法は、&&演算子を使った短絡評価を使うことよ。それの例を見てみて!

function AlertMessage({ showAlert }) {
    return (
        <div>
            {showAlert && <p>Warning! Something went wrong.</p>}
        </div>
    );
}
Geek Happy

だから、"showAlert"がtrueだと、警告メッセージが表示されるんだね?

Gal Happy

その通り!条件付きレンダリングを実現する方法はたくさんあるから、あなたのニーズに最も適したものを選んでね。

  • ユーモラスな例
Geek Curious

条件付きレンダリングを使った面白い例はどうだろう?

Gal Pleased

もちろん、気分が良いときにだけジョークを表示するコンポーネントを作ってみましょう!


function MoodJoke({ isGoodMood }) {

    const joke = 'Why did the chicken go to the seance? To get to the other side!';



    return (

        <div>

            {isGoodMood ? (

                <p>{joke}</p>

            ) : (

                <p>Sorry, no joke for you. Try again when you're in a better mood!</p>

            )}

        </div>

    );

}
Geek Happy

ハハ、面白いね!"isGoodMood"がtrueだと、ジョークが表示され、そうでなければ謝罪のメッセージが表示されるんだね。

Gal Happy

まさにそうよ!条件付きレンダリングを使って、ダイナミックでインタラクティブなUIを作成するのを楽しんでね!

  • おわりに

Reactでの条件付きレンダリングは、特定の条件に基づいてコンテンツを表示するための強力な手法です。三項演算子や短絡評価のような方法を使って、ダイナミックで魅力的なUIを作成することができます。アプリをさらにインタラクティブにするために、学びと実験を続けましょう!😄