[今さら始める React マスター #6] 条件付きレンダリングとリスト表示
Reactで条件に応じて表示を切り替える方法と、配列をmapでリスト表示する基本を説明します。
[今さら始める React マスター #6] 条件付きレンダリングとリスト表示
条件付きレンダリングとは?
条件付きレンダリングは、状態や条件に応じて表示する内容を変えることです。
ログイン済みならユーザー名を表示し、未ログインならログインボタンを表示する、といった場面で使います。
if文で分ける
1
2
3
4
5
6
7
function Greeting({ isLoggedIn }) {
if (isLoggedIn) {
return <p>Welcome back!</p>;
}
return <p>Please log in.</p>;
}
分岐が大きい場合は、普通の if 文が読みやすいです。
三項演算子
短い分岐なら三項演算子も使えます。
1
{isLoggedIn ? <p>Welcome</p> : <p>Login required</p>}
&&で表示する
条件が真のときだけ表示したい場合は && が便利です。
1
{hasError && <p className="error">エラーがあります</p>}
リスト表示
配列を画面に表示するときは map() を使います。
1
2
3
4
5
6
7
8
9
10
11
const todos = ["Learn React", "Build App", "Deploy"];
function TodoList() {
return (
<ul>
{todos.map((todo) => (
<li key={todo}>{todo}</li>
))}
</ul>
);
}
keyの役割
リストを表示するとき、Reactは各要素を区別するために key を使います。安定したIDがある場合は、それを使うのが理想です。
1
2
3
{users.map((user) => (
<li key={user.id}>{user.name}</li>
))}
学習のポイント
条件付きレンダリングとリスト表示を使えるようになると、Reactで動的な画面を作れるようになります。Todoリストや検索結果一覧のような小さなUIで練習してみましょう。
この投稿は投稿者によって CC BY 4.0 の下でライセンスされています。
