提问人:Sajitha Anu 提问时间:11/9/2023 更新时间:11/9/2023 访问量:30
TypeError:posts.map 不是 Reactjs 中的函数,同时使用 useEffect 钩子从 API 获取数据
TypeError: posts.map is not a function in Reactjs while fetching data from an API using useEffect hook
问:
我收到以下错误,在此处输入图像描述
import React ,{useState,useEffect} from 'react'; 从 'axios' 导入 axios;
函数 DataFetching() {
const[posts,setPosts]= useState([])
useEffect(()=>{
axios.get('https://reqres.in/api/users')
.then(res=>{
console.log(res)
setPosts(res.data)
})
.catch(err=>
console.log(err) )
},[])
return (
<div>
<ul>
{
** posts.map(post=><li key={post.id}>{post.email}</li>)**
}
</ul>
</div>
);
}
导出默认 DataFetching;
数据成功存储在钩子中,但 map 函数出现错误:Posts.map 不是函数
我尝试过Object.values(posts).map,但它不起作用
答:
0赞
Saidamir
11/9/2023
#1
也许尝试实现您的数据获取,如下所示。希望它有效。
useEffect(() => {
const fetchData = async () => {
try {
const response = await axios.get('https://reqres.in/api/users');
if (response.status === 200) {
const data = response.data;
console.log(data);
setPosts(data);
} else {
throw new Error('Network error occured.');
}
} catch (error) {
console.error('Error occured while fetching data: ', error);
}
};
fetchData();
}, []);
评论
0赞
Sajitha Anu
11/9/2023
感谢您的回复。我已经按照建议尝试了。但它不起作用。它显示“<DataFetching>组件中发生了上述错误。但没有关于错误的详细信息
评论