我正在尝试循环 API 以将所有 5 个页面的数据提取到我的 setPosts 数组中。我希望将所有数据分组在一起,而不是嵌套到数组中。下图显示了数据现在的情况,索引 20+ 是第 2、3、4 等页,我想像之前的信息一样显示它们。
const getPosts = () => {
for (let i = 1; i < 6; i++) {
fetch(`/api/posts?page=${i}`)
.then((res) => res.json())
.then((data) => setPosts(prevPosts => [...prevPosts, data.posts]))
.catch((error) => console.log('Error fetching posts', error));
}
};
这部分代码看起来很可疑。虽然这里的信息有点缺乏。 部署这些更改以查看是否有效。您
fetch
的数据是 Array
的 Object
。您想将其添加到您之前的 Array
中的 Object
,因此请执行以下操作:
.then((data) => setPosts(prevPosts => [...prevPosts, ...data]))