ПРИМЕЧАНИЕ. Я понимаю важность keys
в массивах. Обычно я использую .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?
<BComponent/>
- person paqash   schedule 10.01.2018div
, как предлагает Mayank Shukla, попробуйте фрагменты. См. здесь: stackoverflow.com/a/45434522/2030321 - person Chris   schedule 10.01.2018