Есть код, который я подсмотрел в одном из файлов 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>
)