0
Firebaseを使用して、ユーザIDに基づいてユーザのプロファイル情報を表示しようとしています。私は現在、ユーザーIDの下でデータベースにデータを保存することができます。データを取得するためのFirebaseユーザID変数
私は趣味からの一般的な情報を表示することができていますが、ユーザーのデータを表示するために、変数を変更する場合、IDは未定義その後、nullまたはuidですし、私はその理由を把握することはできませんか?ユーザーはログインしており、IDを使用してデータをアップロードできます。
//Display Profile Information
(function(){
var user = firebase.auth().currentUser;
var uid;
if (user != null) {
uid = user.uid;
}
const preObject = document.getElementById('object');
const list = document.getElementById('list');
//Displays Hobbies correctly, When changing 'object' & 'hobbies'
//to 'Users' & uid nothing is shown.
const dbRefObject = firebase.database().ref().child('object');
const dbRefList = dbRefObject.child('hobbies');
dbRefObject.on('value', snap=> {
preObject.innerText = JSON.stringify(snap.val(), null, 3);
});
dbRefList.on('child_added', snap => console.log(snap.val()));
};
改造:
const dbRefObject = firebase.database().ref().child('Users');
const dbRefList = dbRefObject.child(uid);
私は任意のヘルプやアドバイスのために非常に感謝しています!
ありがとうございました!これはおそらく動作しますが、私のuid変数がまだ未定義として返っている間はそうではありません。なぜそのことを知っていますか?ユーザーは間違いなくログインしています。 – imconnor
申し訳ありませんが、私はそれを逃しました! コードが正しいようです。 'firebase.auth()。currentUser.uid'が' null'になる可能性が最も高いのは、signin呼び出しが返される前に呼び出しを行った場合です。これをサインインコールバックに入れて、コンソールに何を書き込むかを確認してください:console.log(firebase.auth()。currentUser.uid); –