首页 > 解决方案 > Firebase/firestore 无法访问 Cloud Firestore 后端

问题描述

当我尝试将我的项目连接到 firebase/firestore 时,我收到此错误

@firebase/firestore:Firestore (9.1.1):无法访问 Cloud Firestore 后端。连接失败 1 次。最近的错误:FirebaseError:[code=not-found]:未定义的项目不存在或不包含活动的 Cloud Datastore 或 Cloud Firestore 数据库。请访问http://console.cloud.google.com创建项目或访问https://console.cloud.google.com/datastore/setup?project=undefined添加 Cloud Datastore 或 Cloud Firestore 数据库。请注意,Cloud Datastore 或 Cloud Firestore 始终具有关联的 App Engine 应用,并且不得禁用此应用。这通常表明您的设备目前没有健康的互联网连接。客户端将在离线模式下运行,直到它能够成功连接到后端。

这是我的 app.js

import logo from './logo.svg';
import './App.css';
import firebase from './firebase';
import { collection, addDoc } from "firebase/firestore";
import React, {useState, useEffect} from "react";

function App() {

  const [works, setWorks] = useState([]);
  const [loading, setLoading] = useState(false);

  const db = firebase.firestore();

  const ref = db.collection('portfolio');

/*  function getWorks(){
    setLoading(true);
    ref.onSnapshot((querySnapshot) => {
      const items = [];
      querySnapshot.foreach((doc) => {
        items.push(doc.data());
      });
      setWorks(items);
      setLoading(false);
    })
  }*/

function getWorks2(){
  setLoading(true);
  ref.get().then((item) => {
    const items = item.docs.map((doc) => doc.data());
    setWorks(items);
    setLoading(false);
  });
}

  useEffect(() => {
   // getWorks();
    getWorks2();
  }, []);

  if(loading){
    return <h1>Loading...</h1>;
  }

  return (
    <div className="App">
      <h1>Works</h1>
      {works.map((work) =>
        <div key={work.id}>
          <h2>{work.title}</h2>
          <p>{work.description}</p>
        </div>

      )}
    </div>
  );
}

export default App;

firebase.js

import firebase from 'firebase/compat/app';
import 'firebase/compat/firestore';

const firebaseConfig = {
  apiKey: process.env.FIREBASE_APIKEY,
  authDomain: process.env.FIREBASE_AUTHDOMAIN,
  databaseURL: process.env.FIREBASE_DATABASEURL,
  projectId: process.env.FIREBASE_PROJECTID,
  storageBucket: process.env.FIREBASE_STORAGEBUCKET,
  messagingSenderId: process.env.FIREBASE_MESSAGINGSENDERID,
  appId: process.env.FIREBASE_APPID
};

firebase.initializeApp(firebaseConfig);

export default firebase;

你能帮助我吗?

太感谢了

标签: reactjsfirebasegoogle-cloud-firestore

解决方案


推荐阅读