我在Next js 13的页面中获取了3个文档,但Firebase将其视为10个文档读取。当重定向到一个细节页面,其中我只提取了一个文档,它计数为4个文档读取。(计数是不可预测的)。我甚至检查了我的代码,我没有运行它在一个循环。
对于一个单一的文档阅读/详细页这里是如何做的
export async function page({ params: {itemid}}) {
const itemData = getItem(itemid);
const [item] = await Promise.all([itemData]);
return (
... code here
)
}
getItem如下
import { doc, getDoc } from "firebase/firestore/lite";
import { db } from "../firebase";
export default async function getItem(itemid) {
const docRef = doc(db, "itemPosts", itemid);
const docSnap = await getDoc(docRef);
return docSnap.data();
}
也许这是B/C发生的,当我把prop传递给一个组件时,我没有破坏它。I m按原样传递该值。
我就像<HeadTitle item={item} />
而不是只传递我需要的值
<HeadTitle
title={item.title}
location={item.location}
price={item.price}
/>
我不知道这对它有没有影响。但我的firebase把它算为一个文档的多次读取。任何帮助请
1条答案
按热度按时间xytpbqjk1#
读取1个文档不等于读取1个文档。正如here所回答的,在获取文档期间发生了几次收费读取(例如获取集合列表、读取文档ID、读取所选文档的数据等)。
正如回答this的firebaser所说,firebase方面肯定有一些优化的空间。