React/コンポーネント/Lesson 05
条件付きレンダリング
20分·theory
このチャプター
3/4
JavaScript
条件付きレンダリング
💡 なぜ学ぶ必要があるのか?
🎯
ユーザーの状態に応じて異なる画面を表示できます。
💼
ログイン/ログアウト、エラーメッセージなど、実務でよく使われます。
⚡
動的でレスポンシブなウェブサイトを作るための必須技術です。
🏢 실무에서는
実務では、ユーザーがログインしている場合はプロフィールを、ログアウトしている場合はログインボタンを表示します。また、データ読み込み中はローディングスピナーを、エラー発生時はエラーメッセージを条件付きでレンダリングします。
条件付きレンダリング — &&演算子と三項演算子によるダイナミックUI
&&演算子パターン
三項演算子パターン
注意: &&の落とし穴
使い分けの基準
💡 💡 条件付きレンダリングのヒント
- ▸&&に注意:
{0 && <Comp/>}は0がレンダリングされる →{count > 0 && ...}を使用 - ▸早期リターン: ローディング/エラーを先に処理するとコードがすっきりする
- ▸Recordマップ: switchよりオブジェクトマッピングの方がシンプル
- ▸nullを返す: 何もレンダリングしない場合は
nullを返す
この概念はReactコンポーネント開発の核心です。Reactの宣言的UIパラダイムを理解し、propsとstateの違いを明確に区別しましょう。コンポーネントは入力(props)に対して常に同じ出力(JSX)を返す純粋関数のように動作する必要があります。
⚛️ Reactパターン — 条件付きレンダリング
Reactで条件付きレンダリングをどのように使うか、コードと共にステップバイステップで学びましょう。
1
🧩
1. 条件付きレンダリングを使うシナリオ
この機能が必要な状況。
↓
2
💻
2. コードの記述
条件付きレンダリングの基本的な使い方。
↓
3
🎨
3. レンダリング結果
ユーザーが見る画面。
↓
4
💡
4. 実践的なヒント
よくある落とし穴とベストプラクティス。
🚦 条件付きレンダリング
コードを直接編集すると0.7秒後に自動的に反映されます。React 18 + Babelでブラウザ上で即時実行されます。
🖥️ 実行結果 — レンダリングされたReactコンポーネント
✏️ React 코드 수정하기 (클릭해서 열기)
⚛️ React 18 + Babel Standalone — まず結果を確認し、エディタで自由に編集できます。
確認クイズ
`{isLoggedIn && <UserProfile />}`で isLoggedIn = false のとき、何が起こりますか?