我尝试使用Next.js的getStaticProps从firebase firestore获取数据。不使用getStaticProps,数据呈现正常,但当我使用它时,我得到错误
res.json()不是函数
这就是我的代码的样子
import React from 'react';
import { db } from '@/firebase';
import { collection, getDocs } from 'firebase/firestore';
export const getStaticProps = async () => {
const res = await getDocs(collection(db, 'blogs'));
const data = await res.json();
return {
props: {
blogs: data
}
}
}
function index({blogs}) {
return (
<div>
{blogs.map(blog => {
<p>{blog.title}</p>
})}
</div>
)
}
export default index
我能做错什么呢?
1条答案
按热度按时间sqyvllje1#
您似乎认为
getDocs
返回某种类似express的Response对象,但事实并非如此。我建议查看一下展示如何使用
getDocs()
的文档和示例。它生成一个DocumentSnapshot对象,该对象没有json
方法。您的代码应该看起来更像文档中的示例:
您将需要编写适当的代码,将所有DocumentSnapshot对象转换为您希望用户看到的任何内容。