我正在学习如何将身份验证添加到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类(,请复习一下。