スポンサーリンク

【TypeScript】ReactでMaterialUIのセレクトボックスに配列値を表示する方法ご紹介。

TypeScript
スポンサーリンク

今回の記事はTypeScriptベースのReactでMaterialUIを使ってセレクトボックスに配列値を表示する方法をご紹介する記事です。初心者にも分かりやすいように記載していくので、是非参考にしてみてください。

スポンサーリンク

TypeScriptのReactプロジェクト作成

node等がインストールされてない方はインストールして下さい。その前提で話を進めます。

npx create-react-app sample --template typescript

まずは上記で「sample」プロジェクトを作成します。

cd sample
npm start

これでローカルサーバが立ち上がって初期画面が表示できます。

次にMaterialUIをインストールします。

ReactにMaterialUIをインストール

一旦ローカルサーバを止めます。「Ctrl + C」

npm install @mui/material @mui/styles @emotion/react @emotion/styled --save  

上記コマンドでMaterialUIをインストールします。これでインストールは完了です。

ではいよいよ本題のセレクトボックスを使って配列値を表示してみましょう。

MaterialUIのセレクトボックスに配列値を表示

import React from 'react';
import Box from '@mui/material/Box';
import MenuItem from '@mui/material/MenuItem';
import FormControl from '@mui/material/FormControl';
import Select from '@mui/material/Select';

type Props = {
  lists: string[]
}

const SelectBox1 = (props:Props) => {
  return (
    <div>
      セレクトボックス
      <Box>
        <FormControl fullWidth>
          <Select>
            {props.lists.map((item) => (
              <MenuItem>
              {item}
              </MenuItem>
            ))}
          </Select>
        </FormControl>
      </Box>
    </div>
  );
}

const lists:string[] = ["1","2","3"]

const App: React.VFC = () => {
  return (
    <div>
      <SelectBox1 lists={lists} />
    </div>
  );
}

export default App;

解説していきます。

セレクトボックスのコンポーネントは下記です。

const SelectBox1 = (props:Props) => {
  return (
    <div>
      セレクトボックス
      <Box>
        <FormControl fullWidth>
          <Select>
            {props.lists.map((item) => (
              <MenuItem>
              {item}
              </MenuItem>
            ))}
          </Select>
        </FormControl>
      </Box>
    </div>
  );
}

下記のメニューボックスのところをmap関数で配列値を全て出力しています。

          <Select>
            {props.lists.map((item) => (
              <MenuItem>
              {item}
              </MenuItem>
            ))}
          </Select>

実際に出力している配列は「lists」の中身で、下記でJSXにレンダリングしているという具合です。

<SelectBox1 lists={lists} />

再度アプリを立ち上げると下記表示ができています。配列値を変えると中身も変わっています。

では今回の記事は以上です。ほかにも多数のTypeScript関連の記事を記載しているので是非興味あればサイト内見ていってください。

本記事を読んでいただき感謝です。サイトを訪れていただいた方はプログラミング勉強中かと思いますのでプログラミング勉強のコツを合わせてご紹介。

スポンサーリンク
スポンサーリンク
スポンサーリンク

ブログに関しては500円程度かかりますが、それ以外は無料です。知識の吸収と並行してアウトプットは非常に効率が良いです。テックアカデミーに関しては講座レベルが高いにも関わらず、無料体験や人気口座も大幅値下げがあるので、重点的に学びたいものを無料体験してみてください。

転職時にも、エンジニアからテックアカデミー・Paizaは認知度が高いので、未経験入社採用を行う際履歴書で目に留まります。特にPaizaのスキルレベルA・SなどはIT業界でも評価されます。

テックアカデミー・Paizaの無料登録ができる期間中にぜひご利用してみてください。私も活用経験ありです。

TypeScript
スポンサーリンク
スポンサーリンク

コメント

タイトルとURLをコピーしました