0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

セレクトボックスで1~10の選択肢を作る

Posted at

はじめに

時間割アプリの開発にあたって、1~10の選択肢が表示されるセレクトボックスを作りました。
その際に記述したコードとその解説をしていきます。

機能の詳細

  • 完成時の画面表示
    スクリーンショット 2024-10-07 11.58.07.png
  • 実装する機能
    1〜10までの選択肢を自動的に作り出してSelectBoxに表示する
  • 最終的なコード
    ClassNumberコンポーネントはstyled-componentによって<select>タグと置き換えられています。
<ClassNumber>
    {Array.from({ length: 10 }, (_, i) => (
        <option key={i + 1}>{i + 1}</option>
    ))}
</ClassNumber>

解説

Array.from()を使って10個の数字(1〜10)を選択肢として作成

1.Array.from({ length: 10 })で長さ10の配列を作成
この配列の各要素は未定義の値だが、(_, i)というコールバック関数*が渡されており、iはインデックスを表しています(0〜9の数)。
*何らかのルーチンやアクションを完了させる関数

{Array.from({ length: 10 }, (_, i) => ())}

2.このインデックスiに 1 を加えて(i + 1)<option>タグの値として使用
つまり、1から10までの数字を表示する<option>タグを10個作成する。

<option key={i + 1}>{i + 1}</option>

3.各optionタグには、key={i + 1}という一意のキーが設定されている
Reactでは同じ要素をループで繰り返しレンダリングするときにキーが必要。

<ClassNumber>
    {Array.from({ length: 10 }, (_, i) => (
        <option key={i + 1}>{i + 1}</option>
    ))}
</ClassNumber>

さいごに

時間割アプリで使用した他の機能はこちら

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?