【问题标题】:Pass Firebase Config to Components将 Firebase 配置传递给组件
【发布时间】:2017-11-23 08:20:26
【问题描述】:

我的根 firebase 配置代码位于一个名为 FirebaseConfig.js 的文件中。我希望能够从整个应用程序中的容器组件访问那里配置的数据,以便配置特定于所述子组件的子引用。

FirebaseConfig.js

import React, { Component } from 'react';
import * as firebase from 'firebase';

class FirebaseConfig extends Component {
  render() {  
    const config = {...
    };
  firebase.initializeApp(config);
  // INIT DB REFERENCE
  const db = firebase.database();
  const dbRef = db.ref();
  // INIT STORAGE REFERENCE
  const storage = firebase.storage();
  const storageRef = storage.ref();
  console.log("FB INIT'D with STORAGE REF: " + storageRef);

  return FirebaseConfig; 
    }
  }
 export default FirebaseConfig;

文件结构

src
 |__App.js
 |__index.js
 |__FirebaseConfig.js
 |__ /Home
     |__ Home.js
     |__ HomeContainer.js  //Want to access Config var's here

是否可以像这样配置 Firebase 应用,如果可以,这是一个好的模式吗?

【问题讨论】:

    标签: javascript reactjs firebase firebase-realtime-database


    【解决方案1】:

    是否可以像这样配置 Firebase 应用程序,如果可以 - 是 这是一个很好的模式?

    我认为这不是一个好的模式。

    在我看来,您应该将 firebase 实例保留在 react 组件之外。请改用redux 来存储您的firebase 数据。发送 action 以使用您的 react 组件填充 reducer 和 @connect 您的数据。

    您一定要查看@r-parkfirebase todo app project 以获得更好的理解。精心组织和计划。我用它作为我的一个小项目的基础。

    【讨论】:

    • 谢谢,虽然我正在寻找一种避免使用 redux 的方法,因为我完成这个项目的时间有限,并且认为学习它需要很长时间。
    • @SamYoungNY 如果您已经知道如何设置 react,那么 redux 适合您。阅读一些教程,甚至观看 youtube 视频,那里有高质量的内容。 Redux 非常简单,它是 React 的常用模式。但是我现在很认真。如果您不太了解 Firebase,您可能会遇到问题。当我开始为我的公司构建项目时,我从 firebase 切换到了 GraphCool(GraphQL PaaS)。如果您正在选择数据库提供商,我建议您切换到 GraphCool!
    猜你喜欢
    • 2013-01-01
    • 1970-01-01
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-07-27
    • 2020-05-07
    相关资源
    最近更新 更多