如何解决使用Axios在Reactjs中从Api获取数据
我正在尝试从此API https://randomuser.me/api/?results=25获取数据 用此代码
function Users() {
const [Users,setUsers] = useState([])
useEffect(() => {
axios.get('https://randomuser.me/api/?results=25')
.then(Response=>{
if(Response.data){
alert("FOund")
setUsers([Response.data])
}else{
alert("not found")
}
})
},[])
const displaylist = Users.map((User,index)=>{
return(
<h3>{User.gender}</h3>
)
})
return (
<div>
{displaylist}
</div>
)
}
export default Users
但是没有任何显示,控制台显示此错误: 警告:列表中的每个孩子都应该有一个唯一的“关键”道具。
检查Users
的渲染方法。有关更多信息,请参见https://reactjs.org/link/warning-keys。
在h3
在用户处(http:// localhost:3000 / static / js / main.chunk.js:627:83)
在div
在应用程序中
解决方法
当您通过数组映射时,React需要一个唯一的键,例如User.id;在这种情况下,您也可以使用索引。我对您的功能做了如下更改:
function Users() {
const [Users,setUsers] = useState([]);
useEffect(() => {
axios.get("https://randomuser.me/api/?results=25").then((Response) => {
if (Response.data) {
alert("FOund");
setUsers(Response.data.results);
} else {
alert("not found");
}
}).catch(error => console.log(error));
},[]);
const displaylist = Users.map((User,index) => {
return <h3 key={index}>{User.gender}</h3>;
});
return <div>{displaylist}</div>;
}
export default Users;
,
Json结果的使用是错误的,`
if (Response.result) {
alert("FOund");
setUsers(Response.result);
} else {
alert("not found");
}`
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。