将 React 与 NextJS 一起使用时,从 Firebase 实时数据库获取数据时偶尔会出现以下错误。
Unhandled Runtime Error
Error: Error: Client is offline.
我正在使用 Firebase 9.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)
然后获取数据export default function Leads() {
...
useEffect(() => {
const database = getDatabase(fbApp)
const ads = ref(database, 'ad_results')
get(ads).then((snap) => {
const results = snap.val()
...
我曾尝试搜索类似的问题,但无济于事,任何帮助将不胜感激。
最佳答案
我的 Cloud Functions 遇到了同样的问题,这非常令人困惑。经过几个小时的调试,我发现 .get()
实时数据库的方法导致了这个问题。我目前的解决方法是改用 .once('value')
.
所以我改变了我的代码:
await database.ref(`foo/bar`).get();
至await database.ref(`foo/bar`).once('value');
关于javascript - Firebase 实时数据库 - "Error: Client is offline"。 react /NextJS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69007208/