如何将Firebase Storage上传的图片URL保存到Firestore的currentUser文档
Firebase Storage图片URL存储及头像刷新问题解决
涉及文件
- 实现用户创建逻辑的
Firebase.utils文件 - 监听用户状态变更的
UserContext文件 - 包含用户头像上传到Storage逻辑的
Profile组件
问题1:uploadTask逻辑修改后报错 Unhandled Rejection (TypeError): Cannot read properties of undefined (reading 'doc')
- 根因:操作Firestore时调用的db实例未正确初始化或导入
- 修复方案:确认操作Firestore的文件中,已正确导入初始化完成的Firestore实例,调用
doc方法前先判断实例是否存在
问题2:URL成功写入Firestore后,刷新页面前端头像消失
- 排查结论:控制台可正常打印
currentUser中的photoURL字段,问题源于前端存储头像地址的本地url状态会在组件每次渲染时重置 - 修复方案:头像渲染直接读取
currentUser.photoURL即可,无需额外用本地状态存储该字段
内容的提问来源于stack exchange,提问作者Halp_am_stuck
相关产品推荐
相关产品推荐

