1
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?

Vue, Reactの配列で使うkeyについて

Last updated at Posted at 2022-03-06

React、Vueだと配列データを描画する際に各々のデータにkeyをセットしないとWarningが出ると思うのですが、このkeyに入れる値で、先日プルリクのレビューで新たな学びがあったので備忘録として記事にします。

レビューで指摘されたのは、

map()で、indexを使うのは、iteration対象(ループするもの)の値にkeyとして利用できるものがない場合のみにしましょう。

つまり、indexは極力使わないという事でした。

keyにindexが良くない理由

静的なデータで毎回中身が変わらないデータであればkeyにindexを使っても支障はないのですが、追加、削除などを伴う動的な配列データのkeyにindexを使うと期待通りに表示されないことが起こる。

indexはユニーク値ですが、データの追加・削除をした場合にindexの値も変化するからです。

keyに使える値はユニーク値であれば何でもいい

てっきりkeyにはid(ユニーク値だから)を使うものと思い込んでいましたが、別にそんなことはなく、ユニークな値であれば何でもよいらしいです。例えば、

・Eメールアドレス
・作成日などのUNIXタイムスタンプ(全く同じ時間に作られることはほぼない)
・単体でユニーク値がなければ、複数のデータを組み合わせて、ユニーク値を作る
などなど

1
0
1

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
1
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?