#javascript #html #reactjs
#javascript #HTML #reactjs
Вопрос:
Я хотел бы знать, оказывает ли содержимое итерационного объекта какое-либо влияние на генерируемый индекс, например, если итерационные объекты имеют идентичные значения ключей, будут ли они генерировать идентичные индексы или это повлияет на принятый ключ prop?
пример, я использовал этот массив:
[
{id: 1, bank: "HDFC", account:"345345"},
{id: 1, bank: "Stabdard_Chartered", account:"678567"},
]
Я хочу знать, имеет ли индексный аргумент map () какую-либо зависимость от первого аргумента / item. Как я наблюдал совсем недавно. Все элементы в массиве имели тот же идентификатор, что и 1, и ключи были автоматически преобразованы в .$ 1 по какой-то причине, однако, когда мы изменили id на уникальные значения, он начал работать, как ожидалось
Комментарии:
1. Я хочу знать, имеет ли индексный аргумент map () какую-либо зависимость от первого аргумента / item. Как я наблюдал совсем недавно. Все элементы в массиве имели тот же идентификатор, что и 1, и ключи были автоматически преобразованы в .$ 1 по какой-то причине, однако, когда мы изменили id на уникальные значения, он начал работать, как ожидалось
Ответ №1:
Ключ не генерируется автоматически, вам нужно добавить свой собственный ключ (см. Пример), react использует ключ для отслеживания того, какой элемент необходимо обновлять при каждом повторном запуске.
{array.map((item) => {
return <p key={item.id}>{item.name}</p>
})
Вы также можете использовать index
of map
в качестве своего ключа, хотя многие советуют этого не делать, индекс является вторым (необязательным) аргументом, передаваемым карте следующим образом
{array.map((item, index) => {
return <p key={index}>{item.name}</p>
})
Комментарии:
1. Я хочу знать, имеет ли индексный аргумент
map()
какую-либо зависимость от первого аргумента / item. Как я наблюдал совсем недавно. Все элементы в массиве имели то же самое,id
что и 1, и ключи были автоматически преобразованы в.$1
по какой-то причине, однако, когда мы изменилиid
на уникальные значения, он начал работать, как ожидалось.
Ответ №2:
Если вам просто нужен простой ключ, вторым аргументом map является индекс, вы могли бы использовать его в качестве ключа
objects.map(objs,index) => { return <Obj key={index} /> }
Комментарии:
1. Я хочу знать, имеет ли индексный аргумент map () какую-либо зависимость от первого аргумента / item. Как я наблюдал совсем недавно. Все элементы в массиве имели тот же идентификатор, что и 1, и ключи были автоматически преобразованы в .$ 1 по какой-то причине, однако, когда мы изменили id на уникальные значения, он начал работать, как ожидалось
2. Нет, аргумент index не зависит от элемента. Аргумент index — это новое число для каждого нового элемента. developer.mozilla.org/en-US/docs/Web/JavaScript/Reference /…