Pol*_*lle 5 firebase next.js google-cloud-firestore
import { initializeApp, getApps, getApp } from "@firebase/firestore";
import { getFirestore } from "@firebase/firestore";
const firebaseConfig = {
...config
};
export default function firebaseApp() {
if (!getApps().length) {
firebaseApp = initializeApp(firebaseConfig);
} else {
firebaseApp = getApp(firebaseConfig);
}
}
export const db = getFirestore(firebaseConfig)
Run Code Online (Sandbox Code Playgroud)
一切正常,直到我尝试将 getFirestore 导出为数据库。它在 CRA 中工作正常,但当我尝试在 Next.js 中执行此操作时,出现错误“无法读取未定义的属性‘getProvider’”。
我已经尝试了我能想到的一切:使用了yarn和npm,创建了多个项目,在另一个文件中导入了getFirestore。我不确定是什么原因造成的。
我不明白问题的确切原因。我相信这与 SSR 和客户端之间的 firestore 实例某种不匹配有关,或者可能需要等待才能启动它,但现在这对我有用:
export const db = () => getFirestore(firebaseApp)
Run Code Online (Sandbox Code Playgroud)
另外,您可能想将 传递给firebaseApp,getFirestore而不是firebaseConfig。
| 归档时间: |
|
| 查看次数: |
3292 次 |
| 最近记录: |