首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >未处理的拒绝(TypeError):firebase_app__WEBPACK_IMPORTED_MODULE_18__.default.auth(...).updateProfile不是一个函数

未处理的拒绝(TypeError):firebase_app__WEBPACK_IMPORTED_MODULE_18__.default.auth(...).updateProfile不是一个函数
EN

Stack Overflow用户
提问于 2021-10-01 11:13:47
回答 1查看 35关注 0票数 1

所以我做了一个头像选择器,如果我选择了一个图像,我会得到这个错误。

它还应该在头像中显示图像,但它只是向我显示错误。

我怎样才能解决这个问题,并管理它来在头像图标中显示图像?

我的代码:

代码语言:javascript
复制
async function handleFileInputChange(e) {
    const files = e.target.files;
    const file = files[0];

    const storage = firebase.storage();
    const usersImageRef = storage
      .ref()
      .child(`users/${user.uid}/profilepicture.jpg`);

    const snap = await usersImageRef.put(file);

    const donwloadURL = await snap.ref.getDownloadURL();
    setDownloadURL(donwloadURL);

    await firebase.auth().updateProfile({ photoURL: donwloadURL });
  }

 <input
          accept="image/*"
          className={classes.input}
          id="contained-button-file"
          multiple
          type="file"
          onChange={handleFileInputChange}
        />
        <label>
          <IconButton>
            <Avatar
              src="../assets/ana.png"
              style={{
                margin: "10px",
                width: "60px",
                height: "60px",
              }}
            />
          </IconButton>
        </label>

错误:

它看起来是这样的:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-02 04:41:54

User对象上存在updateProfile方法,而不是Firebase身份验证实例。尝试像这样重构函数:

代码语言:javascript
复制
const user = firebase.auth().currentUser // <-- .currentUser

if (user) {
  await user.updateProfile({ photoURL: donwloadURL });
} else {
  console.log("No user logged in!")
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69404953

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档