Reactのリストとキーをやさしく解説!ソートした配列をリスト表示する方法
生徒
「Reactでリスト表示はできるようになったんですが、並び順を変えることもできますか?」
先生
「できますよ。配列をソートしてから表示すると、順番を自由に変えられます」
生徒
「ソートって、数字を並べ替えることですよね?」
先生
「その通りです。数字だけでなく、文字の順番も整えられます」
1. Reactのリスト表示をもう一度確認
Reactでリストを表示する基本は、 配列の中身を一つずつ取り出して 画面に並べることです。
配列は、 たくさんの情報を順番に並べた 入れ物のようなものです。
Reactでは、 配列とmapという仕組みを使って、 簡単にリスト表示ができます。
2. ソートとは何かをイメージしよう
ソートとは、 並び順を整えることです。
例えば、 テストの点数を 小さい順や大きい順に 並べ替えることを想像してください。
プログラムでも同じで、 配列の順番を ルールに従って 並べ直すことをソートと呼びます。
3. sortの基本的な考え方
sortは、 配列の順番を 並べ替えるための機能です。
数字なら、 小さい順や大きい順、 文字なら、 あいうえお順に 並び替えられます。
Reactでは、 表示する前に 配列をソートすることで、 並び替えたリストを 表示できます。
4. 数字を小さい順にソートして表示する例
function App() {
const numbers = [5, 1, 4, 2, 3];
const sortedNumbers = [...numbers].sort((a, b) => a - b);
return (
<ul>
{sortedNumbers.map(number => (
<li key={number}>{number}</li>
))}
</ul>
);
}
この例では、 数字の配列を 小さい順に並べ替えてから リスト表示しています。
5. 大きい順に並べ替える考え方
並び順を逆にしたい場合は、 比べ方を変えます。
大きい数字を先にしたいときは、 引き算の順番を 入れ替えるだけです。
function App() {
const scores = [70, 85, 60, 90];
const sortedScores = [...scores].sort((a, b) => b - a);
return (
<ul>
{sortedScores.map(score => (
<li key={score}>{score}</li>
))}
</ul>
);
}
6. 文字をソートしてリスト表示する例
文字の配列も ソートできます。
名前や 商品名を 整理するときに よく使われます。
function App() {
const fruits = ["みかん", "りんご", "ばなな"];
const sortedFruits = [...fruits].sort();
return (
<ul>
{sortedFruits.map(fruit => (
<li key={fruit}>{fruit}</li>
))}
</ul>
);
}
7. Reactでソートするときの注意点
sortは、 元の配列を 直接変更します。
Reactでは、 元のデータを そのまま書き換えないことが 大切です。
そのため、 新しい配列を作ってから ソートする方法が よく使われます。
8. ソートしたリストとkeyの役割
ソートで順番が変わっても、 keyは必ず必要です。
keyは、 それぞれの行を 見分けるための 名前札のような役割を 持っています。
正しいkeyを使うことで、 Reactは 安定した表示を 保てます。
9. ソートはリスト表示を分かりやすくする
ソートを使うことで、 情報が整理され、 見やすい画面になります。
最初は難しく感じても、 並べ替えたい、 という感覚で考えると 理解しやすくなります。
リスト表示と ソートを組み合わせることで、 Reactの画面作りの幅が 広がります。