Why does this piece of code produce following error: "user.updateUser is not a function"

Why does this piece of code produce following error: "user.updateUser is not a function"

我已经创建了一个用于使用 firebase 创建新用户的通用函数。它看起来像这样:


export function createUserEmailPassword(email, password, username) {
  createUserWithEmailAndPassword(auth, email, password)
    .then((userCredential) => {
      const user = userCredential.user;
      user
        .updateProfile({
          displayName: username,
        })
        .then(() => {
          alert("Welcome " + user.displayName);
        });
    })
    .catch((error) => {
      const errorMessage = error.message;
      alert(errorMessage);
    });
}

出于某种原因,user.updatProfile 产生错误:“user.updateProfile 不是一个函数”,它不允许我设置显示名称。

该函数的目标是在创建新用户时将显示名称设置为用户名。

updateProfile() 是新 Firebase Modular SDK 中的一个 top-level 函数,就像 createUserWithEmailAndPassword() 一样。尝试重构代码,如下所示:

import { updateProfile } from "firebase/auth"

createUserWithEmailAndPassword(auth, email, password)
  .then(async (userCredential) => {
    const user = userCredential.user;
    await updateProfile(user, {
      displayName: username,
    })
    alert("Welcome " + user.displayName);
  })