将Firebase配置传递给组件

时间:2017-06-20 16:55:38

标签: javascript reactjs firebase firebase-realtime-database

我的root 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应用程序,如果是这样 - 它是一个好的模式吗?

1 个答案:

答案 0 :(得分:4)

  

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

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

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

您一定要检查@r-park firebase todo app project以便更好地理解。组织良好,有计划。我用它作为我的一个小项目的基础。