前提・実現したいこと
firestoreに登録したデータをReactでwebアプリ上に表示したいです。
firestoreの公式ドキュメントを参考に実装しているのですが、コンソールログに表示することはできてもHTML上に表示させることができません。
該当のソースコード
react.js
1export default function Games(){ 2 3 var docRef = db.collection("games").doc("1Cg3grPdahBGuAC2WKnY"); 4 const game = ["0", "a"]; 5 6 docRef.get().then((doc) => { 7 if (doc.exists) { 8 console.log("Document data:", doc.data().name); 9 game.push(doc.data().name); 10 console.log(game); 11 } else { 12 // doc.data() will be undefined in this case 13 console.log("No such document!"); 14 } 15 }).catch((error) => { 16 console.log("Error getting document:", error); 17 }); 18 19 //pushしたデータがなくなっている 20 console.log(game); 21 22 return( 23 <div> 24 <ul> 25 {game.map((name, i) => <li key={i}>{name}</li>)} 26 </ul> 27 </div> 28 ) 29}
試したこと
最後のコンソールログでgame配列にpushしたdoc.data().nameの値だけ消えて、元から入っていた0とaは残っていることが確認できました。
game配列がローカルで変更されていて関数をでた後に初期値に戻ったのが原因だと思うのですが、これを解決する方法がわかりません。
配列に値を挿入した後にreturn game;と追記しても内容は変わりませんでした。
回答2件
あなたの回答
tips
プレビュー