2016-08-20 4 views
1

からデータをロードされていません。ReactFireは、私は、この構造では、いくつかのテスト項目が含まれているリアルタイムのデータベースとFirebaseプロジェクトを持っているリアルタイムデータベース

project-21093 
|_items 
    |_item1 
    |_name: "Name" 
    |_category: "Category" 
    |_item2 
    |_name: "Name2" 
    |_category: "Category: 

index.htmlファイルが<script src="https://www.gstatic.com/firebasejs/3.3.0/firebase.js"></script>タグを含み、これはあります私のindex.js:

import React from 'react'; 
 
import ReactDOM from 'react-dom'; 
 
import firebase from 'firebase/app'; 
 
require("firebase/auth"); 
 
require("firebase/database"); 
 
import ReactFireMixin from 'reactfire'; 
 
require("./styles/customisations.scss"); 
 

 
// Initialize Firebase 
 
var config = { 
 
    apiKey: "key", 
 
    authDomain: "auth", 
 
    databaseURL: "url", 
 
    storageBucket: "storage", 
 
}; 
 
firebase.initializeApp(config); 
 

 
var App = React.createClass({ 
 
    mixins: [ReactFireMixin], 
 

 
    getInitialState: function() { 
 
    return { 
 
     items: [] 
 
    }; 
 
    }, 
 

 
    componentWillMount: function() { 
 
    var fireRef = firebase.database().ref("items"); 
 
    this.bindAsArray(fireRef, "items"); 
 
    }, 
 

 
    render: function() {} 
 
})

全体configセクションは、プロジェクトページから与えられたセクションから直接取得されました。指示通りにindex.htmlで動作しませんでしたので、ここにロードしました。私は束をロードしたので、どの要件が正確に必要なのか分からない。

私の問題はthis.state.itemsは、私はcomponentWillMountthis.state.items配列に結合することを意味していると仮定し、私のリアルタイムデータベース内の項目を有するにもかかわらず、常に空であることです。ドキュメントではfirebase.database().ref()コールに渡す必要のあるパラメータを決して指定しないため、project/items,project-21093/items、バリエーションはdatabase/data/itemsまですべてを試しましたが、成功しませんでした。 Chrome開発ツールのReactプラグインは空の配列を明示しています。このデータを正常に読み込むためには何が欠けていますか?私はcouldn "auth != null".readセットで

{ 
 
    "rules": { 
 
    ".read": true, 
 
    ".write": "auth != null" 
 
    } 
 
}

答えて

1

は「リアルタイムデータベース」タブの「ルール」セクションでは、私がルールを少し変更する必要があることが判明します何でもアクセスして、それをtrueに変更すると、最終的に私のデータが得られます。スタートアップのドキュメントのどこにも言及されていなかったので、私が何をすべきかを知っていたのは、this Firecast videoを見るまでではありませんでした。私はこれを適切なウェブ利用のために設定する方法はまだ分かりませんが、少なくとも私はいくつかのデータで自分のアプリを作ることができます。

関連する問題