如何在Nextjs13中修复此错误,* 对象作为React子对象无效(找到:[object Promise])。如果你想呈现一个子元素的集合,请使用数组 *
我通过Prisma从Supabase获取数据,我在终端中获取数据,但在下一个应用程序中也会出现错误。pages/index.tsx
import Header from "@/components/Header";
import Navbar from "@/components/Navbar";
import RestaurantCard from "@/components/Restaurantcard";
import { PrismaClient } from "@prisma/client";
const prisma =new PrismaClient()
const fetchRestaurant = async () => {
const restaurants = await prisma.restaurant.findMany();
return restaurants;
};
export default async function Home() {
const restaurants = await fetchRestaurant();
console.log({restaurants})
return (
<main className="bg-gray-100 min-h-screen">
<main className="max-w-screen-2xl m-auto bg-white">
<Navbar />
<main>
<Header />
<div className="py-3 px-36 mt-10 flex flex-wrap justify-center">
{restaurants.map((res) => (
<RestaurantCard />
))}
</div>
</main>
</main>
</main>
);
}
Data which I'm getting in the terminal
{
restaurants: [
{
id: 25,
name: 'Vivaan - fine Indian',
},
{
id: 26,
name: 'RamaKrishna Indian',
}
]
}
1条答案
按热度按时间zvms9eto1#
我可以看到您希望遍历从API接收的餐厅并使用它们呈现一个组件。
这里的问题是,您试图Map出对象,而不是其中的实际数组。接收到的数据是一个对象。我已经添加了2张图片显示你是如何做到这一点与它应该如何做,让事情的工作。
Mapping array from the object
Mapping the object instan
谢谢你,如果有帮助,请标记正确的答案:)