firebase.database () не является функцией - PullRequest
0 голосов
/ 05 марта 2019

Сообщение об ошибке:

TypeError: _this.db is not a function

Код:

import app from "firebase/app";
import "firebase/auth";
import "firebase/database";

const config = {
  apiKey: "some-api-key",
  authDomain: "myapp.firebaseapp.com",
  databaseURL: "https://myapp.firebaseio.com",
  projectId: "aofndiuf",
  storageBucket: "project-somenumber.appspot.com",
  messagingSenderId: "793813245724y6597"
};

class Firebase {
  constructor() {
    app.initializeApp(config);
    this.auth = app.auth();
    this.db = app.database();
  }
  //  Auth API

  doCreateNewsletter = (news, name, description, email) => {
    const newsletter = { news, name, description, email };
    const newPostKey = this.db()
      .ref()
      .child("newsletters")
      .push().key;
    return this.db
      .ref()
      .child("/newsletters/" + newPostKey)
      .set(newsletter);
  };

1 Ответ

0 голосов
/ 05 марта 2019

Вы присвоили this.db следующим образом:

this.db = app.database();

Но потом вы будете ссылаться на него позже, как это:

const newPostKey = this.db()
    ...

Объект, возвращаемый из app.database(), не являетсяфункция, поэтому вы не можете вызывать ее как функцию, как сейчас.Это База данных объект.Возможно, вы можете просто избавиться от этих скобок, чтобы заставить ваш код работать так, как вы хотели.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...