【问题标题】:'firestore' is not defined no-undef'firestore' 未定义 no-undef
【发布时间】:2021-07-02 06:07:49
【问题描述】:

我有一个使用 firebase 的新项目。我创建了 2 个文件,

firebase.js

import firebase from "firebase/app";
import "firebase/storage";
import "firebase/firestore";

const firebaseConfig = {
  apiKey: "x",
  authDomain: "x",
  projectId: "x",
  storageBucket: "x",
  messagingSenderId: "x",
  appId: "x",
  measurementId: "x",
};

firebase.initializeApp(firebaseConfig);

export default firebase;

和 App.js

import React, { useEffect, useState, useRef } from "react";
import firebase from "./firebase";

export default function App() {
  const [urlVideo, setUV] = useState();

  useEffect(() => {
    getRoom();
    console.log("TEST");
  }, []);

  const getRoom = async () => {
    firebase
      .firestore()
      .collection("abc")
      .add({
        room: Math.floor(Math.random() * 10000),
        createdAt: firestore.FieldValue.serverTimestamp(),
      })
      .then(() => {
        console.log("Room added!");
      });
  };

  return (
    <div>
      
    </div>
  );
}

当我运行我的项目时,我收到了这个错误。请参考下图。

error

我知道为什么会发生这种情况,因为我之前已经有多个使用 firebase 的项目,并且我已经与另一个项目(代码)进行了比较,发现与我上一个使用 firebase 的项目没有区别。

我正在使用

"firebase": "^8.7.0",

你们能帮帮我吗?非常感谢!

【问题讨论】:

  • 很明显,您正在尝试使用firestore,但您从未定义过firestore
  • 嘿,谢谢你的评论..我想我有问题..
  • 您应该考虑使用合适的编辑器,以便在您编码时通知您此类错误。
  • 是的,我认为你是对的!谢谢你的建议..

标签: reactjs firebase google-cloud-firestore


【解决方案1】:

问题来了:

createdAt: firestore.FieldValue.serverTimestamp()
           ^^^^^^^^^

命名空间未在任何地方定义,因此您也必须将其导出。

像这样重构 firebase.js


if (!firebase.apps.length) {
  firebase.initializeApp(firebaseConfig);
}

const firestoreNamespace = firebase.firestore

export {firebase, firestoreNamespace};

App.js:

import { firebase, firestoreNamespace } from "./firebase"

// Now you can use the namespace like this
createdAt: firestoreNamespace.FieldValue.serverTimestamp()

【讨论】:

  • Dudeeee,你的眼睛很完美 :)) 是的,这就是问题所在!非常感谢!
猜你喜欢
  • 2021-10-16
  • 2018-06-09
  • 2018-10-02
  • 2021-05-26
  • 2021-06-17
  • 2022-01-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多