在Firebase / React上创建存储引用时出现“TypeError:db._checkNotch is not a function”

mnemlml8  于 2023-10-22  发布在  React
关注(0)|答案(1)|浏览(178)

我正在React上创建一个应用程序,它使用Firebase作为后端数据,并希望能够上传图片。当尝试通过firebase获取存储引用时,我得到以下错误:

每次我尝试引用存储时,都会得到此错误。我也在firebase上使用实时数据库,但我不认为这会有任何干扰。下面是调用的代码:

import database, { auth, provider, storage } from '../../components/utils/firebase.js';
import { uploadBytes } from '@firebase/storage';

...
        handleSubmit(e) {
        e.preventDefault();

        const file = e.target[0].files[0];
        console.log("File: ", file);
        
        if (!file) {
            console.log("No file!");
          } else {
            const storageRef = ref(storage, `images/${file.name}`);
            uploadBytes(storageRef, file);
            console.log("Uploaded file!");
            console.log("File: " + file);
          }
        
    }

firebase.js(我的配置文件):

import { initializeApp } from 'firebase/app';
import { getDatabase } from 'firebase/database';
import  { getAuth, GoogleAuthProvider } from 'firebase/auth';
import { getStorage } from 'firebase/storage';

const firebaseConfig = {
  apiKey: process.env.REACT_APP_APIKEY,
  authDomain: process.env.REACT_APP_AUTHDOMAIN,
  databaseURL: process.env.REACT_APP_DATABASEURL,
  projectId: process.env.REACT_APP_PROJECTID,
  storageBucket: process.env.REACT_APP_STORAGEBUCKET,
  messagingSenderId: process.env.REACT_APP_MESSAGINGSENDERID,
  appId: process.env.REACT_APP_APPID,
  measurementId: process.env.REACT_APP_MEASUREMENTID
};

// Initialize Firebase
const app = initializeApp(firebaseConfig);
const database = getDatabase(app);

export const storage = getStorage(app);
export default database;
export const auth = getAuth(app);

export const provider = new GoogleAuthProvider();

有人知道为什么会这样吗?谢谢你,谢谢!

pinkon5k

pinkon5k1#

我是在观看某人设置存储桶的视频时发现这个问题的。
实际上,因为我已经在为实时数据库使用ref,并从实时数据库文件夹导入该命令,所以我的存储引用实际上是一个实时数据库引用。为了解决这个问题,我像这样导入了存储ref函数:
import { ref as sRef } from 'firebase/storage';
然后使用sRef代替ref
希望这对任何有同样问题的人都有帮助!我很沮丧

相关问题