@rd100

Как работает этот код?

Есть код, который я подсмотрел в одном из файлов nextjs
export default function Index() {
  const { data, error } = useSWR('{ users { name } }', fetcher)

  const { users } = data

  return (
    <div>
      {users.map((user, i) => (
        <div key={i}>{user.name}</div>
      ))}
    </div>
  )
}


Что означает эта запись?
Читал про деструктивное присвоение, но там были значения в массиве, а тут в объекте.
Было бы логично предположить, что созданы 2 объекта, но зачем им присваивать одинаковые значения.
const { data, error } = useSWR('{ users { name } }', fetcher)


Зачем нуна именно такая запись, почему нельзя присвоить просто users = data
const { users } = data

Есть такой рендер, но почему здесь используется map? А точнее, как?
map у нас возвращает новый массив, но как мы здесь добавим что-то в блоки, если мы на месте получаем новый массив users и все. Зачем нам его здесь засовывать в div, как он вернет туда какие-то значения?
Вроде логично, что мы сразу должны получить массив данных, а уже после с ним что-то делать, а тут мы его просто получаем и все.
return (
    <div>
      {users.map((user, i) => (
        <div key={i}>{user.name}</div>
      ))}
    </div>
  )
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
Rsa97
@Rsa97
Для правильного вопроса надо знать половину ответа
Читал про деструктивное присвоение, но там были значения в массиве, а тут в объекте.
https://developer.mozilla.org/en-US/docs/Web/JavaS...
Вроде логично, что мы сразу должны получить массив данных, а уже после с ним что-то делать, а тут мы его просто получаем и все.
https://medium.com/byte-sized-react/component-arra...
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы