1

注: keysin array の重要性は理解しています。通常、配列を繰り返すために .map を使用し、index変数.mapが提供するものを使用します。私の場合、どのインデックス変数にもアクセスできません。手動でキーを追加するよりも良い方法を知りたいです。

だから私はこれをやっていました:

function AComponent() {
  return <div>
    <BComponent />
    <BComponent />
  </div>
}

function BComponent() {
  return [
    <h2>Title</h2>,
    <p>Description </p>
  ]
}

エラーをスローするもの

警告: 配列または反復子の各子には、一意の「キー」プロパティが必要です。詳細については、 https://reactjs.org/docs/lists-and-keys.html#keysを参照してください。BComponent 内 (AComponent によって作成)

したがって、次のように変更する必要がありBComponentました。

function BComponent() {
  // I added the key attribute to each element in the array
  return [
    <h2 key="1">Title</h2>,
    <p key="2">Description </p>
  ]
}

確かに、これはこれを修正する最善の方法ではありません。知りたいのですが、どの方法が良いですか?それともReactのバグですか?

4

1 に答える 1