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?

NEXT.jsで配列から要素を表示する方法

Posted at

はじめに

NEXT.jsでのアプリ作成中に、APIから取得した配列データを表示する方法について迷ったので調べてみました

1.mapを使用する

map関数の中に記載を行う一般的な方法です、関数の中にJSXを直接記載出来るため可読性も高いです

ちなみにkeyにindexを使うのは非推奨のため、keyに使用する要素がない場合以外は控えた方が良いです

page.tsx
"use client";
const array = ['Apple', 'Banana', 'Cherry'];

export default function Page() {

  return (
    <div>
      <ul>
        {array.map((value, index) => (
          <li key={index}>{value}</li>
        ))}
      </ul>
    </div>
  );
}

2.forループを使用する

forループを使用して要素の表示をすることも可能です、途中で複雑な処理を追加する場合などはこちらでもよいかもしれません

whileなども同様に使用可能です

page.tsx

"use client";
import { ReactElement } from "react";

const array = ['Apple', 'Banana', 'Cherry'];
const list:ReactElement[] = [];;

for (let i in array) {
  list.push(<li key={i}>{array[i]}</li>);
}

export default function Page() {

  return (
    <div>
      <ul>{list}</ul>
    </div>
  );
}

ポイント:

key属性を明示的に設定する必要があります。
手動で配列を生成してからReactの要素に渡します。

3.直接記載する

配列を展開する際はあまり良い方法ではありませんが、配列の個数が固定の場合などは直接記載することも可能です

page.tsx
"use client";

const array = ['Apple', 'Banana', 'Cherry'];

export default function Page() {
  return (
    <div>
      <ul>
        <li>{array[0]}</li>
        <li>{array[1]}</li>
        <li>{array[2]}</li>
      </ul>
    </div>
  );
}

まとめ

基本的にmap関数を使用した方が可読性がよく使いやすそうです、複雑な処理を途中で入れたい場合であればfor文を使用するといった使い分けてもよいと思います

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?