2016-08-16 28 views
0

嘗試從Firebase 3.x.x獲取數據表以與我的React應用程序同步。據我所知,這是同步這兩個州最受歡迎的圖書館。括號內填入適當的數據。Rebase/Redux/Firebase +反應數據不在管道中

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初始化一個) 我的火力點的數據是這樣的:

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中將讀寫設置爲true不會產生任何結果。

編輯:Firebase顯示帶寬使用情況。

+0

你確定它不應該是'console.log(this.state.records)'而不是? –

回答

0

解決方案:

所以數據實際上到達那裏開始。我最初在render()方法中查詢它。當我做出一個按鈕來觸發一個查詢this.state.records的類方法時,數據顯示出來了。

這意味着狀態不會被初始化,直到JSX返回塊在渲染方法內。似乎有點奇怪,但嘿,現在我知道了。