我试图使用nextjs中的getInitialProps方法检索文档。然而,它正在返回一个状态为“待定”的Promise。这是我的代码:
static async getInitialProps(context) {
const { id } = context.query;
await db
.collection('clients')
.doc('JJqyDI8a1ILqnqmp2gcO')
.get()
.then(doc => ({
data: doc.data(),
}));
console.log(data); // logs pending
return {
client: data,
};
}
我似乎也找不到任何例子。
所有异步函数都返回一个promise。
我不知道你是如何访问data
的,因为当你在console.log时它已经超出了范围。
做这样的事情:
static async getInitialProps(context) {
const { id } = context.query;
const data = await db
.collection('clients')
.doc('JJqyDI8a1ILqnqmp2gcO')
.get()
.then(doc => ({
...doc.data(),
}));
return {
client: data,
};
}
这应该让props.client
可以访问它