2017-09-10 18 views
0

こんにちは私はこの機能を持つfirebaseからデータを取得しており、反応ネイティブで、ノードのタイトルが1または他の番号であれば正常に動作します。しかし、私がpushを使うと、firebaseはKth6q9p8njLyfwbuyL5のようなIDを自動的に生成します。それは反応ネイティブでは取得できません。なぜ誰が知っていますか?ヘルプFirebaseから取得した自動生成されたIDで動作しませんネイティブの反応

let shiftPath = "/shifts/mobile"; 

firebase.database().ref(shiftpath).on('value', (snapshot) => { 

     this.setState({ 
      mobile : snapshot.val(), 
      }); 
      }); 



    } 

it works with 2 and not with Kth6q9p8njLyfwbuyL5

+0

を持っているあなたは、 'はconsole.log(snapshot.valを()'を追加し、共有することができます両方結果はどうですか? – soutot

答えて

0

ためのおかげで彼らは同じですが、最初のものはUUID

enter image description here

+0

申し訳ありませんが、私はあなたの問題を取得しませんでした。結果として、両方のオブジェクトが取得されています。ケースには、キーと値と他のキーのみが含まれています。達成しますか? IDを自動生成せずに新しい項目を作成しますか? – soutot

+0

生成されたIDの投稿を取得できるようにしたいのですが、上記の機能では機能しません。それは "1"のような番号のついたオブジェクトでしか動作しません。理由はわかりません。 –

+0

あなたが投稿したこのプリントは、 'console.log(snapshot.val()'の結果ですか?そうなら、IDオブジェクトがリストされていることに気づくでしょう。これは、firebaseスキーマであなたのプロパティが空であるためです。もし、あなたのfirebaseスキーマが空であれば、あなたは '' end: ''すべてのレコードを渡したい場合、 'Object.entries(snapshot.val())'のようなものを使ってオブジェクトを配列に変換し、 '.forEach()'を使って各項目を取得することができます。配列にfirebaseから受信したデータをassiginging – soutot

関連する問題