PaPaPointアプリ【ポイント付与機能編②】の続きです。
前回はポイント追加するところまではできていたのですが,ポイントが追加されても表示が更新(再レンダリング)されない問題があり,非同期処理が原因かと思っていましたが,根本の原因は他にありました。
合計表示に使っていた変数をtotalPoint
とします。
totalPoint
はfirestoreから値を取得しています。
そしてポイント付与の際は,firestoreからtotalPoint
とは別に現在の合計値を取得してcurrentPoint
に格納し,付与するポイントaddPoint
分を足して,Firestoreのレコードを更新していました。
Fi
restoreが更新されたタイミングで合計表示も更新してほしいと思っていたんですがtotalPoint
の値が更新されていないので再レンダリングされるはずもなく。。。
気づいた今ならFirestoreの更新を検知できないのは明白なのはわかりますが,当初はどうやって再レンダリングするんだ?とハテナが出まくりでしたw
色んな記事を参考にして書いていたので,コードもとっちらかってたので,一つ一つ整理していったら気づけましたね。
案外初歩的なところでミスってるとなかなか気づけないものです(言い訳)。
遠回りはしましたけど,非同期処理も理解できたし結果オーライです。
それではまた明日。