在React中调用Firebase HTTPS可调用的云函数

时间:2020-08-04 17:52:42

标签: javascript reactjs firebase google-cloud-functions

因此,我正在研究一个使用Firebase实现许多功能的React项目。 现在,我试图在其中使用一些HTTPS可调用函数。

但是似乎我导入“ firebase / functions”模块的方式不正确。这给了我这个错误:

TypeError: Cannot read property 'httpsCallable' of undefined

以下是我的导入和设置方法:

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

const config = {
   // the config info here
};

  class Firebase {
    constructor() {
      app.initializeApp(config);
      this.auth = app.auth();
      this.db = app.firestore();
      this.functions = app.functions();
    }

    // trying to call the function
    doCreatePlanner = this.functions.httpsCallable('createPlanner')

有人能指出我正确的方向吗?

1 个答案:

答案 0 :(得分:2)

在构造器中定义this.functions之前,您要尝试访问它。要消除错误消息,您可以将对httpsCallable的调用移至构造函数中:

    constructor() {
      app.initializeApp(config);
      this.auth = app.auth();
      this.db = app.firestore();
      this.functions = app.functions();
      const doCreatePlanner = this.functions.httpsCallable('createPlanner')
    }

这可能不完全是您想要做的,但是在任何情况下,除非您定义了this.functions,否则您将无法使用它。