首页 > 解决方案 > 使用导出的 Firebase 作为全局对象是否安全

问题描述

我和我的团队进行了讨论。我们讨论的是应该导出 firebase 对象以在 ReactJS 项目中的任何地方使用,还是必须使用 Redux 来存储 firebase 对象。

我试过使用 export 语句,它工作得很好。

import * as firebase from "firebase";

firebase.initializeApp({
  apiKey: "xxxx",
  authDomain: "xxxxx",
  projectId: "xxx"
});

const firestore = firebase.firestore();

export { firebase, firestore };

如果我将firebase存储在状态管理中会更好,或者这种方法已经足够好了。

标签: javascriptfirebasefirebase-authentication

解决方案


我不是 React 开发人员,但我使用 Firebase 和 Vue。我知道这两个是完全不同的框架,但也许这个案例会对你有所帮助。

我在 Vue(全局)中安装了 Firebase 插件。然后我使用状态管理来存储例如登录状态。

安装后(下):

import VueFire from 'vuefire'

Vue.use(VueFire)

new Vue({
  store,
  render: h => h(App)
}).$mount('#app')

我使用 Firebase 引用来访问它,例如:

methods: {
    addToDb: function () {
        this.$firebaseRefs.data.child('count').set(1);
    }
}

所以在你的情况下,我想出口就可以了。


推荐阅读