Я сопоставляю массив массивов и распечатываю пользователя на основе карты поиска. Функция работает, но я получаю «Каждый ребенок в массиве или итератор должен иметь уникальный« ключ ». Я назначил ключ для тегов img и p - я думаю, что div нужен один? Не уверен.React mapping, требующий ключа к idx, не знаю, почему моя функция отсутствует
const renderUser = this.props.data.filter(obj => {
return this.props.name === obj.name;
}).map((obj, idx) => {
return (
<div className="cols2">
<div>
<img key={idx} src={`${obj.image}`} className="avatar"></img>< br/>
</div>
<div style={spaceStyle}>
<p key={idx}>
<span className="profileText" alt="Profile Name">Name:</span> {obj.name} < br/>
<span className="profileText" alt="Profile Email">Email:</span> {obj.email} <br />
<span className="profileText" alt="Profile Flavor">Flavor:</span> {obj.flavor} <br />
<span className="profileText" alt="Profile STR">STR:</span> {obj.str} <br />
<span className="profileText" alt="Profile AGI">AGI:</span> {obj.agi} <br />
<span className="profileText" alt="Profile INT">INT:</span> {obj.int} <br />
<span className="profileText" alt="Profile STA">STA:</span> {obj.sta} <br />
</p>
</div>
</div>
);
спасибо - отлично работает. Думаю, я просто не понимаю, зачем нужен ключ в этом случае. – user3622460
Если вы создаете несколько элементов React динамически, вы должны добавить к нему уникальный идентификатор ('key'), чтобы React знал, какой из них является. Вы можете в значительной степени игнорировать его, это просто сделать React быстрее. –