React Typescript — объекты ошибок недействительны в качестве дочернего элемента React

Я пытаюсь получить данные из Random user API, но получаю следующую ошибку:

Объекты недействительны в качестве дочерних элементов React (найдено: объект с ключами {название, первый, последний}). Если вы хотели отобразить коллекцию дочерних элементов, используйте вместо этого массив.

Вот мой код до сих пор:

import "./styles.css";
import React, { useState, useEffect } from "react";
import { User } from "../interfaces/users";
import axios, { AxiosResponse } from "axios";
export default function App() {
  const [randomUsers, setRandomUsers] = useState<User[]>([]);

  useEffect(() => {
    axios
      .get<User[]>("https://randomuser.me/api/?results=20")
      .then((response: AxiosResponse) => {
        setRandomUsers(response.data.results);
      });
  }, []);

  return (
    <div className="App">
      <h1>Names from random user API</h1>
      <ul>
        {randomUsers.map((user, key) => (
          <li key={key}>{user.name}</li>
        ))}
      </ul>
    </div>
  );
}

Я не понимаю, почему я не могу сопоставить randomUsers

Здесь код песочнице< /а>:

Любая помощь будет оценена


person user2675966    schedule 26.04.2021    source источник


Ответы (1)


вы столкнулись с этой ошибкой, потому что имена имеют форму объекта, поэтому попробуйте это

<li key={key}>{user.name.first}</li>
person Muhammad Hassan Nasir    schedule 27.04.2021
comment
Да, вы совершенно правы. Как это может быть, что я не видел его?. Большое спасибо! - person user2675966; 27.04.2021
comment
Нет проблем, не могли бы вы принять мой ответ, если он вам помог. - person Muhammad Hassan Nasir; 28.04.2021