React+Rredux+Firebase:如何处理定义并导出为类的Firebase配置



我正在学习如何将身份验证添加到React+Firebase项目中。以前,当我需要导出我的firebase配置常量时,我经常这样做:


const config = {
//...
};
firebase.initializeApp(config)
const database = firebase.database()
export {database}

然后在我想使用它的import {database} from 'path'

然而,在新的身份验证实现中,我有这样的东西:

const config = {
//...
};
class Firebase {
constructor() {
app.initializeApp(config);
/* Helper */
this.serverValue = app.database.ServerValue;
this.emailAuthProvider = app.auth.EmailAuthProvider;
/* Firebase APIs */
this.auth = app.auth();
this.db = app.database();
//etc
}
export default Firebase;

所以在另一个文件中,我现在可以import Firebase from 'path'了——但是我不知道如何访问Firebase的数据库。Firebase.db和Firebase.database((不起作用。感谢您的帮助

回答我自己的问题。怀疑任何人都会有同样的问题,但现在是:

我们现在正在处理一个班。因此,当我导出Firebase时,我并没有像以前那样将其导出为一个可供使用的对象——现在我将其作为一个类导出。

因此,当我将其导入另一个文件:import Firebase from 'path'时,我必须记住在该文件中创建一个实例才能使用它

import Firebase from 'path'  //Firebase is not an object, it is a class
const fbInstance = new Firebase(); //creating an instance of the class
const database = fbInstance.db;  //each instance is assigned a db (database) through the constructor (posted earlier)

如果您不太了解OOP(或javascript类(,请复习一下。

相关内容

  • 没有找到相关文章

最新更新