2017-06-20 8 views
2

My Fire Baseの設定コードがFirebaseConfig.jsというファイルにあります。子コンポーネントに固有の子参照を構成するために、そこに構成されているデータに、アプリケーション全体のコンテナコンポーネントからアクセスできるようにしたいと考えています。Firebase Configをコンポーネントに渡す

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アプリを設定することが可能であり、もしそうなら - それは良いパターンですか?

答えて

4

は、このようなFirebaseアプリを設定することが可能であり、もしそうなら - それは良いパターン のですか?

いいパターンだとは思いません。

私の意見では、firebaseインスタンスを反応コンポーネントの外に置いておくべきです。代わりにfirebaseデータを保存するにはreduxを使用してください。 actionを送信して還元剤を追加し、@connectのデータを反応成分で派遣してください。

@r-parkfirebase todo app projectをよく理解してください。よく整理され計画されています。私はそれを私の小さなプロジェクトの拠点として使っていました。

+0

ありがとう、私はこのプロジェクトを終了するには時間枠が限られており、それを学ぶには時間がかかりすぎると思うので、reduxの使用を避ける方法を探しています。 – SamYoungNY

+0

@SamYoungNYあなたがすでに反応をセットアップする方法を知っていれば、還元はあなたのためです。いくつかのチュートリアルを読んで、youtubeのビデオ、良質のコンテンツを見てください。 Reduxは本当にシンプルですが、反応の共通パターンです。しかし、私は今非常に深刻です。あなたがそれをよく知っていなければ、Firebaseはあなたのために問題になる可能性があります。私は自分の会社のプロジェクトを構築し始めたときにfirebaseからGraphCool(GraphQL PaaS)に切り替えました。あなたがデータベースプロバイダを選ぶ時点にいるなら、GraphCoolに切り替えることをお勧めします! – loelsonk

関連する問題