Jos*_*van 5 javascript firebase reactjs firebase-realtime-database next.js
将 React 与 NextJS 结合使用时,从 Firebase 实时数据库获取数据时偶尔会出现以下错误。
Unhandled Runtime Error
Error: Error: Client is offline.
Run Code Online (Sandbox Code Playgroud)
我正在使用 Firebase9.0.1进行 React。
用于初始化和配置的顶级代码
import { initializeApp } from "firebase/app";
import { getDatabase, ref, onValue, child, get } from "firebase/database";
import CONFIG from '../CONFIG.json'
const FIREBASE_CONFIG = {
apiKey: CONFIG['FIREBASE_API_KEY'],
authDomain: CONFIG['FIREBASE_AUTH_DOMAIN'],
databaseURL: CONFIG['FIREBASE_DATABASE_URL'],
storageBucket: CONFIG['FIREBASE_STORAGE_BUCKET']
}
const fbApp = initializeApp(FIREBASE_CONFIG)
Run Code Online (Sandbox Code Playgroud)
然后再获取数据
export default function Leads() {
...
useEffect(() => {
const database = getDatabase(fbApp)
const ads = ref(database, 'ad_results')
get(ads).then((snap) => {
const results = snap.val()
...
Run Code Online (Sandbox Code Playgroud)
我曾尝试搜索类似的问题,但无济于事,任何帮助将不胜感激。
Nil*_*rdt 14
我的云功能也遇到了同样的问题,这非常令人困惑。经过几个小时的调试,我发现.get()实时数据库的方法导致了这个问题。我当前的解决方法是使用.once('value').
所以我改变了我的代码:
await database.ref(`foo/bar`).get();
Run Code Online (Sandbox Code Playgroud)
到
await database.ref(`foo/bar`).once('value');
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2206 次 |
| 最近记录: |