TypeError: Cannot read properties of undefined (reading 'ref')

TypeError: Cannot read properties of undefined (reading 'ref')

我创建了一个 linkedIN,唯一不起作用的是当我尝试 post 它说的内容时:

TypeError: Cannot read properties of undefined (reading 'ref')

Firebase版本如下

我在 firebase“ref”中遇到问题。

下面是firebase配置

firebase.js

//import { firebase } from "firebase";

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

const firebaseConfig = {
  apiKey: "**********************",
  authDomain: "*********************",
  projectId: "************************",
  storageBucket: "*********************",
  messagingSenderId: "*********************",
  appId: "***********************************",
};
    
//loading firebase configuration
const firebaseApp = firebase.initializeApp(firebaseConfig);
const db = firebaseApp.firestore();
const auth = firebase.auth();`enter code here`
const provider = new firebase.auth.GoogleAuthProvider();
const storage = firebase.storage; //to store images

export { auth, provider, storage };

export default db;
    

当我点击 POST 按钮时,此功能具有登录功能,它 post 我创建的 LinkedIN 应用程序上的内容(虚拟)

index.js

import { auth, provider, storage } from "../firebase";

export function postArticleApi(payload) {
  return (dispatch) => {
    if (payload.image != "") {
      const upload = storage
        **.ref**(`images/${payload.image.name}`)

     

当我点击 POST 按钮时,浏览器出现以下错误:

    TypeError: Cannot read properties of undefined (reading 'ref')
     export function postArticleApi(payload) {
      48 |   return (dispatch) => {
      49 |     if (payload.image != "") {
    > 50 |       const upload = storage
      51 |         .ref(`images/${payload.image.name}`)
      52 |         .put(payload.image);
      53 |       upload.on(

您可以在第 50 行看到指向错误。 任何帮助将不胜感激

您正在尝试使用 firebase.storage,但您从未在 firebase.js 中导入它,它只包含:

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

要解决此问题,还要在您的 firebase.js 中导入存储:

import 'firebase/compat/storage';

然后初始化它(仍然在 firebase.js 中):

const storage = firebase.storage();