reactjs - React Typescript - 错误对象作为 React 子项无效
问题描述
我试图从随机用户 API 获取数据,但出现以下错误:
“对象作为 React 子级无效(找到:带有键 {title, first, last} 的对象)。如果您要渲染一组子级,请改用数组。”
到目前为止,这是我的代码:
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
这里是代码沙箱:
任何帮助将不胜感激
解决方案
你正面临这个错误,因为名称是一个对象,所以试试这个
<li key={key}>{user.name.first}</li>
推荐阅读
- javascript - 如何从数据表中获取 select2 的值
- android - 如何在 Kotlin 中动态创建 KeyFrameSet
- c# - 如何在 C# Xamarin API 28 中使用带有回调的 PendingIntent 而不是带有 ConnectivityManager.ConnectivityAction 的 Intent?
- python - 堆叠 2-d numpy 数组以在 python 中获取 3-d 数组
- ios - swift将字典转换为jsonString错误:协议类型'Any'不能符合'Encodable',因为只有具体类型才能符合协议
- docker - 无法连接地址为 /0.0.0.0:9000 的容器
- c# - 将包含文本和图像的 PDF 文档附加到电子邮件 C# Windows 应用程序
- ui-automation - 是否存在一种搜索 IUIAutomationElement 指定名称是否包含空格的方法?
- javascript - 从 php json_encode() 调用 javascript 变量时出错,因为有 json 标签号
- mule - 如何在 Mule4 的 foreach 循环中检索元素?