2016-08-16 12 views
0

Reactと同期するためにFirebase 3.x.xからデータテーブルを取得しようとしています。私が知っている限り、これは2つの州を同期させる最も一般的なライブラリです。大括弧は適切なデータで埋められます。Rebase/Redux/Firebase + React data with piping

App.js:

componentDidMount() { 

var base = Rebase.createClass({ 
    apiKey: "[API Key]", 
    authDomain: "[app-name].firebaseapp.com", 
    databaseURL: "https://[my-app].firebaseio.com", 
    storageBucket: "[app-name].appspot.com", 
}) 
base.syncState(`records`, { 
     context: this, 
     state: 'records', 
     asArray: true 
    }) 
} 

私は

console.log(this.props.state.records) 

を呼び出すときに、私は空の配列(state.jsに初期化された1) このようなfirebaseルックスで私のデータを取得します:

https://[app-name].firebaseio.com/

[app-name]{ 
    records[ 
    record_1{ 
    id: 0 
    description: "this is a record" 
    } 
    record_2{ 
    id: 1 
    description: "this is another record" 
    } 
    ] 
} 

編集:それは認証とは関係ありません。 database.rules.sjonでreadとwriteをtrueに設定しても、結果は生成されませんでした。

編集:Firebaseは帯域幅の使用状況を示しています。

+0

代わりに 'console.log(this.state.records)'ではないと確信していますか? –

答えて

0

ソリューション:

ので、データが実際に開始するためにそこになっていました。私はもともとrender()メソッドの中でそれを照会していました。 this.state.recordsを照会したクラスメソッドを起動したボタンを作成すると、データが表示されました。

したがって、レンダリングメソッド内のJSX戻りブロックまでの状態は初期化されません。ちょっと奇妙だけど、ねえ、今私は知っている。