Почему map пользователей требует key и явного return?

У callback с фигурными скобками отсутствует return. Верните JSX и задайте key={user.id}; индекс массива не подходит как стабильная идентичность при перестановках.

Короткий ответ

Что ответить на собеседовании

У callback с фигурными скобками отсутствует return. Верните JSX и задайте key={user.id}; индекс массива не подходит как стабильная идентичность при перестановках.

Подробный разбор

Ответ с пояснениями

Условие

React-код: <ul>{users.map(user => { <li>{user.name}</li> })}</ul>. Элементы не отображаются. После исправления предполагается удаление и перестановка пользователей с уникальными id. Что нужно изменить?

Ответ

У callback с фигурными скобками отсутствует return. Верните JSX и задайте key={user.id}; индекс массива не подходит как стабильная идентичность при перестановках.

<ul>{users.map(user => (
  <li key={user.id}>{user.name}</li>
))}</ul>

Круглые скобки позволяют неявно вернуть JSX из стрелки. Key нужен на элементе, непосредственно создаваемом map; его не требуется выводить как DOM-атрибут. Если имя отсутствует по данным API, это отдельно решают в контракте и отображении, а не маскируют ошибкой ключа.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее