javascript - 使用导出的 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存储在状态管理中会更好,或者这种方法已经足够好了。
解决方案
我不是 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);
}
}
所以在你的情况下,我想出口就可以了。
推荐阅读
- wso2 - WSO2 JSON 数组处理
- ios - 创建领域对象类时出错
- java - 如何将某些数据从 csv 文件添加到 ArrayList
- javascript - javascript在默认浏览器缓存中搜索url
- java - 线程“main”中的异常 java.lang.NoClassDefFoundError: cucumber/deps/com/thoughtworks/xstream/converters/ConverterRegistry
- visual-studio - 为什么RelativeLayout 中的这些约束不适用于Xamarin Forms 项目?
- java - 在整数的前面和结尾添加零 - 二进制输出
- node.js - 使用 passport-google-oauth20 时无法访问重定向 URL
- c# - Azure 机器人模板 - BotApplication
- postgresql - `TABLE()` 是函数、显式类型转换运算符(如 C 语言)还是其他?